Due to unintentional behavior breakage in the newest versions of GUPnP and GSSDP, the UPnP NAT traversal in all VoIP applications that use Farsight2 is currently broken. This includes Empathy, Pidgin, aMSN, etc. I advise distributors to just stay with the older GUPnP 0.16 (and GSSDP 0.10) releases until this is sorted out. For those who care, the details are on bugzilla.
Update: I’ve released GUPnP-IGD 0.2.1 that works around these problems.
Just like everyone else on Planet GNOME,
You are all cordially invited to my talk: Improving the quality of video calls on the Free Desktop. I will try to explain why Skype’s video calls look so much better than ours and what I’ve been doing to fix it, and how there is much more to do.
Now that WebRTC and RTCWeb are coming, it is more critical than ever that we can have good quality video calls in the GNOME platform so we can stay relevant.
I’d also like to thank my employer, Collabora, for once again sponsoring my trip. And don’t forget the Collabora party on Tuesday night!
A couple months ago, Facebook announced announced that their chat system would also be available through XMPP. So it is possible to just configure it like any other Jabber server on a N900. And then to merge Facebook contacts with other contacts and it the address book will store it as a field of type “X-JABBER”. Since the PR1.2 version of Maemo5, Nokia has added a specific profile for Facebook to the N900 software. But instead of calling the address book field “X-JABBER”, they created a “X-FACEBOOK” field (since Facebook Chat is not XMPP in the backend, it can not talk to other Jabber servers). So if you remove your old Jabber account and re-add it as a Facebook account and use Marco’s contact merger to merge back the contacts. You’re still stuck with a bunch of extra “X-JABBER” fields in your contacts. So to clean them up, I wrote a really simple program to remove them. It is based on Marco’s jid-to-email program. You can get the source code or a precompiled binary. You can just put the binary on your N900 and run it from the Terminal as “~/MyDocs/remove-old-facebook” (if you put it in the N900’s documents root). Be warned that is is not a good example like Marco’s code, I stripped all error handling and it never frees anything. If you want a good example, look at Marco’s code.
About a month and a half ago, I had a smallish bike accident, I did not have a single scratch, but I managed to fall right on my N900 and crack the LCD. So I’ve used a Nexus One as a replacement until I managed to fix the N900. That gave me a chance to compare them.
You should also know that I am entirely biaised as I was paid to make the VVoIP calling on Maemo incredibly awesome. I have no relationship with Google and they did not pay me to make their stuff awesome (so it is not awesome). The opinions stated here are mine and mine only. They are not approved by my employer Collabora, any of our clients or competitors, the Queen or anyone else than me.
I’m comparing both devices with the latest software version as delivered by their respective OTA update system. So it is Maemo 5 PR1.2 for the N900 and Android 2.1 (Eclair) for the Nexus One. I make no claim of fairness. This is not a guide to chose which phone to buy.
Browser:
Browser totals: Maemo 1- Android 3
Contacts & IM:
Contacts & IM totals: Maemo 3 – Android 0
Calling:
Calling totals: N900 3 (Maemo 2) – Nexus one -2
E-Mail:
E-Mail totals: Maemo 0.5 – Android 3
Maps:
Maps totals: Maemo 0 – Android 6
Camera & Photos:
Camera & Photos total: N900 1 – Android 0
Hardware:
Hardware totals: N900 5 – Nexus One 1.5
3rd Applications:
3rd Application totals: Maemo -4 – Android 1
User experience:
User experience totals: Maemo 0.5 – Nexus One 6 (Android 4)
Geek experience:
Geek experience totals: Maemo 6 – Android 0
Other stuff:
Total: N900 16 (Maemo 9) – Nexus One 17.5 (Android 17)
The Nexus One is really being dragged down by its its hardware. Especially when it comes to the bad speaker quality and the low ringer volume.. Did I mention how much it annoyed me ? That said, Android is pretty good. Better IM integration would be a big plus. And some VoIP too.
Our Nokian friends have their work cut out for them. First, they need to fix the memory handling story on Meego. Running out of memory and swapping all the time is just annoying. An almost desktop-class operating system requires desktop-class amounts of RAM (that means more of it). Ovi Maps needs a lot of work, hopefully they can work a deal with Google to get decent search in there. The browser could get its share of small screen friendliness and a performance upgrade. If they fix these few problems, Meego (as the future of Maemo is called) could very well be a success.
Were it not for its high geek factor (built-in X Terminal!), the N900 would have lost badly. That said, it’s still my favorite phone ever (did I mention I was horribly biaised?)
The PR1.2 update of the N900 firmware is now officially released. The big new feature is video calls. It is also the world’s first phone to offer Skype video calls as well as Google Talk compatible video calls! And all of this uses Farsight2, the GStreamer based voice and video calling library. The whole Farsight2 team is very proud to have been able to participate in this world first. And just like all other calls on Maemo, video calls use the Telepathy framework. We obviously also support Jingle (aka Jabber aka XMPP) and SIP just like the N800 and N810. But we also add H.264 support.
As a side note, my colleague Sjoerd (who now has a blog!) has made VP8 work with RTP. The Googlers are working hard to make some kind of standard. So hopefully, with Google’s clout, we’ll be able to have calls between a fully free platform and a hardware phone!
The part of the socket(7) man page about setsockopt(.., SOL_SOCKET, SO_PRIORITY…) says:
“For ip(7), this also sets the IP type-of- service (TOS) field for outgoing packets.”
I wanted to know how exactly it mapped the socket priority to the ToS field, so I looked in the kernel code for a while, and it turns out that in recent Linux 2.6 kernel, this is a lie. The ToS field is never set when the application selects the socket priority, only the internal priority of the packet is set. That said, the reverse is true, setting setsockopt(.., IPPROTO_IP, IP_TOS…) sets both the ToS header field and the internal priority of the packet.
So the question here is: Who is wrong, is the kernel buggy? Or is the man page incorrect?
Also, dear lazyweb, is there any support for applications to set the DiffServ field? Or are they only settable through iptables?
I’m in Bangalore for foss.in. First, the country is awesome, the Indian food is amazing, etc, etc. The weather is also pretty nice this time of year, not too warm, not too cold, just right. Although it has been a bit rainy in the last three days.
But its not only the country that is nice, it is also an awesome conference, the organizers are really doing a great job. The venue is nice, the speakers are really well treated, etc. But more importantly, the level of the conference is also quite impressive. It is a great place to meet lots of good developers that we rarely meet in the “western” conferences. Free Software is really alive in India and it is great to meet the people here. After my Farsight 2 talk (slides), there were some really good questions, from people who had actually tried to use it. It’s the fourth (and last) time that I give this talk in front of different audiences, and I really got the best questions and the best interaction. The organizers wanted to make it into a truly developer oriented conference and they’ve really succeeded.
One of my non-geeky friends is currently trying Linux on his laptop. For some reason, he stopped it incorrectly and on the next reboot a fsck was forced and the fsck failed… he gets this:
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):
Obviously, at this point, he had no idea what to do… He couldn’t boot into his system and he had no idea how to fix it.
THIS IS REALLY REALLY STUPID AND BAD!
And it seems all distributions are doing it, including the supposedly user friendly ones like Fedora and Ubuntu. All non-geeks will be completely lost at this point…
What should be done is: “Repairing your file system may cause errors!!! Do you want to: [F]orce Repair, get to a [S]hell or [R]eboot?” .. ideally in a nice curses front-end. And in the force repair case, just run “fsck -y”.
First, this is my first post on Planet Gnome, so I’ll introduce myself. I’m one of the developers of GnomeICU and Farsight. I work for Collabora, mostly on Farsight and related things. For those who don’t know, Farsight is the GStreamer based audio/video conferencing framework used in Telepathy. Its most prominent platform is currently Nokia’s Tablet, but its coming to a desktop near you soon.
For the last two months, I’ve been working on a complete redesign of Farsight, in an effort we call Farsight 2. The new generation RTP plugin is based on the excellent RTP implementation by Collabora’s own Wim Taymans. With it, we gain some exciting new features, most prominently A/V synchronization and multi-party conferencing. Also, the first generation wasn’t designed with video in mind and it wasn’t nice, but this time we’re trying to make it right. It’s now a GStreamer element that implements an interface, so it can easily be used in GStreamer based applications to give some of the integrated features Telepathy is designed for. I’m also trying to have nice unit tests, so we can try not to have the same kind of regressions we keep on fighting with Farsight 1. We also want to keep the API as simple as possible and well documented.
This week, I’ve finally reached an important milestone.. it works! So I had to make a screencast (sorry for cutting it a bit short at the end and no, its not slow, its the screencast thats 10fps):
For those who want to try, you need the CVS HEAD of gst-plugins bad, and for the demo gui, a patch to gst-python. Then you can try my git tree. It’s all very new, so if it breaks, you keep the pieces. I’d also like to thank Philippe Khalaf and Youness Alaoui who worked a lot on the design and all the people who wrote the code that was carried over from previous versions of Farsight.
Update: Oops, the git repository was not fetchable by http, its now fixed… Updated again: now we have a gitview and git server, so I’ll let the link point there instead
Collabora has provided me with a new computer: a ThinkPad x60s. Its really nice, extremely light and the battery lasts for a very long time (enough to fly to Europe!). On the inside, it’s almost all Intel, which means that there are Free drivers for everything (now that iwlwifi has been released). Well actually, not everything, one small chip resists, the modem. But it seems to be supported by Linuxant’s hsfmodem (not that I would use it). Did I say that suspending, both to RAM and to disk works like a charm? Hot-plugging an external display also works great with Xrandr 1.2 (again, thanks Intel!). And everything I needed to make it work is right there, in our Portage tree.
This page is XHTML 1.0 Strict and CSS level 3