The former Google’s employee and currently Executive Director of Yorba, talks about developing with Gnome and he spots the strategies that a company should use to have profit by developing Open Source Desktop Applications.
Adam has an impressive bio in Google’s desktop projects and his company has already released 2 top quality Apps for Gnome; Shotwell and Geary.
Some Mail Apps
Before the interview I want to open a small parenthesis to show some similar mail Apps. I’ ll take as an example Yorba’s Geary which looks like Apple’s iMail.
From top to bottom: iMail, Postler, Sparrow, Geary. 4 similar mail Apps, but which one was originally designed first?
Interview with Adam Dingle
Biography: Adam founded Yorba in 2009. Before that, he worked as a software engineer at Google, where he helped develop indexing algorithms used in Google Desktop. He also lived in Prague for several years, where he taught computer science at Charles University. He holds computer science degrees from Princeton and Berkeley. He likes playing the piano and guitar and travelling to far-flung corners of the globe.
When Yorba founded (2009), what were the goals back then and have you set new goals as you grown bigger?
The original goal of Yorba was to create a suite of usable applications for working with media (photos, audio, video) on the Linux desktop. Our goals have indeed evolved as we’ve grown. We’re now interested in desktop applications more generally (we’re currently working on an email client and if we had more people we might consider working on a word processor, for instance). We’ve also become interested in helping to fund free software projects and are considering building a crowdfunding site, which would be a significant change from our original goals.
On your page you’re asking for people to work with you, how many people you started, how many are you at the moment?
When Yorba started there were only 2 of us (me and Jim Nelson). We now have 6 people who work at Yorba full time plus a summer intern.
Are you sharing responsibilities or there is a “Project Leader” model?
Every Yorba project has a tech lead, who leads technical discussions and makes the final decision on technical questions. I’m the executive director and am also more or less the project manager for our applications, which mean that I tend to lead the discussions about how our programs should behave, though the tech leads and others are heavily involved in that too.
Is there any connection between Gnome and Yorba other than you do Gnome Apps?
We go to a lot of GNOME conferences and we know a lot of GNOME people. But no, there’s no formal relationship between our organizations.
Yorba’s crew from top left to bottom right: Adam Dingle, Jim Nelson, Lucas Beeler, Eric Gregory, Clinton Rogers,Charles Lindsay.
All your projects are written Vala, what are the benefits from this?
Vala generates native code rather than compiling to a virtual machine, which has benefits for desktop applications: with Vala it’s very easy to call native libraries (such as GTK) and use traditional development tools such as GDB.
Can Vala/Gtk compete the superior at the moment C++/Qt in rapid development and portability?
It all depends on what you want. I think Vala is a nicer language than C++ in many ways. Qt is more cross-platform than GTK, but GTK is much easier to use with Vala. Time will tell which platform becomes more popular in the end.
More over can you say that someone can “safely” drop Java for the shake of Vala/Gtk?
Again, it depends on your goals. Java is a safe language, meaning that a bug in a Java program can’t corrupt arbitrary memory. On the other hand, most Java implementations include a garbage collector which stops program execution periodically, which is not ideal for interactive applications which run on the desktop. Java has much more mature libraries for implementing Web sites and services. Vala and GTK have better integration with desktop services such as DBus.
Portability: GObject Introspection obviously isn’t working on Windows platform. What are the other big issues to port your Gtk App there?
The last time I tried using GTK on Windows was a couple of years ago, when we ported Shotwell to run on Windows. At the time we found that GTK on Windows was pretty immature and missing support for libraries we needed (such as WebKit). Perhaps it’s gotten better in the last couple of years, but I suspect it’s still immature compared to Qt on Windows.
Can you overcome the issues and make high quality apps for both platforms?
Well, there apps such as GIMP which use GTK to run on both Linux and Windows, so it can be done.
Gnome Team is designing a “poster” mail client which looks pretty much like Geary. Actually both Apps are much likely Apple’s iMail.
There are now a number of email clients in this style including Sparrow (which was possibly the original one), Apple Mail (both on Mac OS and iOS), Geary and probably others.
I’m not sure what you mean by “poster”. Do you mean Postler (https://launchpad.net/postler)? That project is dead – the Postler team decided to join the Geary effort instead. It’s true that the GNOME design team has a Web page (https://live.gnome.org/Design/Apps/Mail) with a few mockups of a proposed mail application, though I don’t think there’s been too much work on that recently.
Are you inspired from Apple’s work, or any other platform particularly?
Apple’s mail clients (both on iOS and Mac OS) are nice, though I think the original implementation of this style of mail client wasn’t from Apple – it was Sparrow (http://sprw.me/). I think Apple may have imitated Sparrow in designing its latest desktop mail client.
Are you developing Apps according to Gnome HIG in order to reduce software diversity? For example, should Gnome postpone the Mail App and focus on other priorities, rather to make a duplicate effort. Geary is Gnome, is Good.
We do follow the GNOME interface guidelines in designing all of our applications. in my opinion Geary is so similar to the proposed GNOME Mail application that in this case I think there’s no good reason to start a parallel effort. On the other hand, if the GNOME design team has significantly different goals or ideas perhaps they will start their own effort. It’s really up to them.
The above applies for every software, not just for Geary. Ok these are questions more for Gnome, but if there is something to say about software diversity is welcome
This is a fundamental tension in the free software ecosystem. According to one ideal, we’d have exactly one program of each application type (email, spreadsheet and so on). But reality rarely plays out that way: different users have different visions and requirements and so you usually end up with several programs which may compete with each other to a certain extent. Teams should try to work together if they can, but some diversity is inevitable. Ultimately the users decide, though: programs which are useful and popular will generally live on.
Shotwell and Geary (I am adding the features in 0.2!) are two awesome Apps, what’s coming next?
Well, I think Shotwell and Geary will keep us busy for some time to come. I’d like to see better GNOME-based applications for word processing and for presentations, but I don’t think we’ll have the resources to work on those any time soon.
How a company that makes Gnome software can be profitable
Can you please spot 2-3 points how a company like Yorba can make profit by developing OS with Gnome Technologies?
That’s never easy. A few possible strategies are
- charge companies (or users) to develop new features for your free program
- solicit donations from users, e.g. via crowdfunding
- develop a Web service complementing your desktop applications, and charge for it
In my opinion Commercial Software cannot compete Open Source, OS grows faster than ever. But that applies on traditional/local computing.Can Open Source software make profit from the “very expensive to run” Cloud services?
I’d like to see open source desktop applications which deal with data in the cloud. And the companies which run cloud services (which could also develop desktop applications) should certainly have an opportunity to make a profit, yes.
Thank you very much!
Try Geary in Ubuntu (Stable 0.1)
sudo apt-add-repository ppa:yorba/ppa
sudo apt-get update
sudo apt-get install geary
Try Geary in Ubuntu (Daily builds)
sudo apt-add-repository ppa:yorba/daily-builds
sudo apt-get update
sudo apt-get install geary