
On December 2nd, Lifehackers.com online magazine published a
list of the best software products of 2008 in the “New and Updated” category. In a row with such grandees as Firefox 3, Google Chrome, Google Android and iPhone2 we can see the image of a modest, but very charming guy in a cap. His name is
"Digsby .
"This is not the first award of a multi-protocol messenger with support for social networks and mail (for more information about its capabilities, see the official website or from
this post on Habré). Already in April, the product received
4 out of 6 awards IM Best Awards 2008 (and this despite the fact that the beta release took place only in March!).
Last week I had a chance to talk with the author and the Digsby project manager in one person - Steve Shapiro. I want to share the text of this 15-minute conversation with users.
Initially, the conversation was conceived as a video interview, but to my deep regret there was a failure when recording the sound (our tracks were superimposed on each other). I tried to somehow fix the situation, but it didn’t work out anyway. Nevertheless, I post a
video and a
kind of podcast for those who are more interested to hear the answers in the original. The rest I offer my free translation of the transcript.
')
21csm: Steve, how long has your team been working on Digsby?Steve: Well, we started work in March 2006. It took us two years to develop a product that could be released as a public Beta. This is a rather complicated product in terms of development, since we support so many different protocols for IM, email and social networks ... Development and skill level in all these protocols, reverse engineering (where it was necessary) - all this took quite a lot of time. In addition, we placed great emphasis on the user interface and tried to make Digsby as easy to use as possible. And we needed to make sure that these goals were achieved before the public release was released.
21csm: Who was the author of the idea? Well, you know, the idea is not so innovative and in 2006 it was just “another messenger”. Surely there were a lot of people around who said: "It will not work."Steve: Generally speaking, the idea came about as a course project. I was just getting an MBA from
RIT and I took the course “Entrepreneurship”. And the whole course was aimed at developing a business plan. So Digsby turned out to be my coursebook.
21csm: Cool! :) Please share your success story.Steve: It's a pleasure, although we are still working to achieve success :) Of course, we are happy to see the results: our launch in March was quite successful, we hear a lot of great reviews, we see a constant increase in users ... Just a few days ago, Lifehacker called us in the number of "New and updated products 2008". Other products in the list were Firefox, Google Chrome, Android, iPhone and it was just amazing to be on a par with such brands! We are proud to have gotten this far.
You know, a success story is simply to make a product that serves the true needs of users and make it as easy to use as possible. At Digsby, one of the tasks we tried to accomplish was to make it easier for people to manage everything that they have to do online. After all, many have several IM accounts, most people have several email accounts: for work and personal, many also use social networks. So our main goal was to feel the true needs of users and try to give them the opportunity to do what they could not before, or at least let them do the same, but much easier.
21csm: Well, if I understood correctly, you were the main driving force promoting this idea, and the one who made all the mess.Steve: Yes, but I cannot be called the chief designer of this whole thing. As for the idea - yes. Business plan - the same. But software development was carried out by a full-fledged team of programmers. I myself did not code anything.
We have one amazing feature of IT education: all curricula actually run for at least 5 years, because require a year of joint practical work in order to receive a diploma. So our entire team actually consisted of “student interns” who were hired on-the-job, and then they graduated from the university and went full-time. All development efforts are completely in their hands. And, I must say, we have a wonderful team here!
21csm: What platform underlies the software implementation of Digsby - C ++? What framework was used to develop the UI?Steve: Digsby is written entirely in Python. Yes, I see your smile :) In C ++, it would be much more fun to write all this, and yet we chose a faster tool. The use of high-level languages has many advantages: when working with the network, in managing the data that is generated by our huge list of protocols. The GUI is written using the
wxPyhton library, which, in turn, is an add-on to
wxWidgets . So the GUI library itself is written in C ++. But we interact with it from the Python environment. And it allowed us to control everything that is needed and make a GUI on python, despite the fact that the foundation on which everything rests is actually C ++. So we managed to get the best of both worlds: C ++ performance and simplicity, and the pleasure of developing in Python.
The other side of the issue is that both wxPython and Python are fully cross-platform by themselves. So our code runs on Windows, MacOS and Linux. Since we have a relatively small team, we decided to make a release for Windows first. As soon as this version is fairly stable, we will release releases for Mac and Linux.
21csm: What was the size of your original team?Steve: We started with four developers. Then they began to grow rapidly, because aware of the scope of the project. Now the team consists of seven people. Perhaps we will expand a little more over time, but explosive growth is not planned.
21csm: Do you have all team members locally?Steve: Nope. Most, of course, here, but some work remotely. When we see someone with an impressive level of skill in a particular area, when you need to do some kind of subproject and this person seems to be the most suitable candidate, we can take it.
In general, remote work does not present any problems. We use IM for communication, Skype and all that. Technology has made it possible to work remotely on projects like this. Especially when there is a version control system. A team, whose members are located in various places, can work quite effectively on a software product.
21csm: What process do you use when developing?Steve: Something like Agile. We, of course, use the review code.
Every week we have alpha builds, which we stabilize and give to users. Digsby has a built-in auto-update system, so whenever we release an update there, with the next login you will have the latest version.
21csm: How many productive hours did you spend on the day before the first public release?Steve: Our work day ends at eight in the evening, but people like to work on the project so much that they stay longer all the time. The team is working hard and for a week we have a decent amount of hours.
21csm: More than 40?Steve: Yes, yes. Usually we get 55-60 hours per week on average per team.
21csm: And now?Steve: Yes, the same. You know, we have so many requests for the release of versions for Mac and Linux, that we are trying to achieve the necessary results as quickly as possible.
21csm: Tell us a little more about code review.Steve: We are reviewing revision by revision in SVN, which is used as a version control system. For project management, we use TRAC - this is just a great product! We definitely recommend others to use it. We review every revision. All team members try to describe the results they tried to achieve with their code, with which ticket it is connected, etc. We all conduct reviews of the code and one of its advantages is that bugs are before they get to users. But the most important thing is that the whole team is absolutely well acquainted with the protocols and other important aspects of the project. This is great when you have a bug in AIM to ask for help from teammates who also understand this protocol.
21csm: After you had to delve into the structure of various IM clients, which of them has become the most hated you?Steve: :) Yes ... the protocols are different. It’s a pleasure to work with Google Talk, for example, which is based on Jabber. It is simply well done, well standardized, and no reverse engineering is needed.
Probably the most hated is MSN. He, perhaps, the most difficult of all. In particular, due to the nature of its structure. Every time you start a new conversation with someone, MSN connects to a new server, instead of having any one messaging pool, this protocol is the most hated one now, because after launching it, the most bugs. But when we first started, I would call the most hated Oscar (which is used by ICQ and AIM). First of all, because there is absolutely everything in binary form. There the sources are completely unreadable and it is very difficult to work with them. I had to dig deep into them.
21csm: What was the most difficult technical problem you encountered?Steve: You know, I somehow will not call any one problem the most difficult. In principle, never was such that we rested in something, stuck and could not budge. The team is very gifted and we work together smoothly, it allows you to successfully cope with problems.
21csm: Name your favorite bug :)Steve: Or my least favorite :)) We happened to observe a very interesting bug ... Some Windows Vista x64 users when they turned off the shadows for the cursor in the settings if Digsby was running, explorer.exe started to eat 10-20% of the CPU. When the 32-bit version of Vista was released, this problem was also there, but they released a hotfix that solved it. And on x64, this problem still climbs some people. This is one of those mystical bugs when something amiss is happening in the operating system and we are trying to figure out what caused it.
21csm: What is the most exciting part of your work?Steve: I would say the most fascinating part is to hear all these reviews from users, perhaps this is the most valuable part. Whenever we get email from someone or see someone tweets about Digsby, we hear positive feedback about how it makes them more effective, how they love this product - this is the most worthwhile part of all our work. It fills us with energy and gives us more acceleration.
21csm: Do you have investors or dotSyntax LLC independently invests in Digsby?Steve: Yes, we have two business angels. When I finished my business plan for Digsby, I started contacting everyone I knew to find out if they had any contacts among potential start-up investors.
21csm: What helped you attract them?Steve: I presented to them the main idea, the feature of the product and the results that I planned to achieve. So I approached the issue of financing. Simply use personal contacts to attract investments for your company.
21csm: Do you have any plans to monetize Digsby?Steve: Yes. We have a lot of ideas. But now we are still focused on increasing the user audience and improving the product. Nevertheless, we firmly know that we want to keep Digsby free and ad-free.
21csm: What about the global financial crisis?Steve: :) I don’t think that we experience it directly. If we had to deal with the sale of advertising, now we would have to watch the decline in income. If you now need funding, it is much harder to get compared to the capabilities of two years ago. But since we are still in a rather early phase and focused on growth, the crisis did not affect us as much as the rest of the larger companies.
21csm: When will Linux users finally get their version of Digsby?Steve: Mmm ... we don't have specific time forecasts right now. However, I must say that it is much easier to make a Linux version. In general, this is a real dilemma. On the one hand, Macs have a very unique operating system, especially in the sense that Macs users expect certain behavior from programs, the GUI should look different. With Mac everything will not be so easy, and you will need a lot more native GUI elements for Mac release. I'm not ready to say which version we will release first, but it will definitely be easier for us to make it for Linux. And we have many requests for both of these operating systems. So we still see which will be more popular, and try to release them one by one as soon as possible.
Speaking of time, we do not have a specific date yet. Two public releases are coming. Both are bug-oriented. Then there will be one or two, focused on new features. We also have many requests for the implementation of additional features: group chat, better integration with Twitter ... Again, we plan to focus on the most popular ones. After the release of all these releases, we will devote much more time to versions for Mac and Linux. When we realize that our product is quite stable and we are ready to move to other platforms.