An interview with Teodor Filimon
February 22nd, 2008 | Published in Google Desktop API
Teo has created some good gadgets, but what makes him unique are his in-depth development articles. (You can find links to his gadgets and articles on his Hall of Fame page.) Naturally, we wanted to get his thoughts on all things gadget-related.
How did you get introduced to Desktop gadgets?
It was so long ago (over 2 years), I honestly don't remember. I think it was some casual browsing for Google-made programs that made me install Google Desktop. It didn't take much for me to write my first gadget: DigiWatch.
What other programming languages and platforms do you know?
Besides JavaScript, I know Basic, Java, C, HTML, Fox, Pascal (don't laugh :D, it has some neat stuff), and a bit of PHP.
What do you think is the best gadget you've written?
Every gadget has something special, but I'd have to say the Tabbed ToDo List. I've given it by far the most programming time. Although it isn't very feature-rich, its interface is very efficient about what it does: organizing tasks. This gadget also gets the most user feedback and even has an established upgrade timeline. But I also have to mention DigiWatch, TVSet, and Fishtank (made in collaboration with Yannick Stucki). Those are pretty popular, too.
What's your favorite gadget that you didn't write?
The Movies gadget. It saves time by giving me anything that I would have wanted from a feed reader or media player. I don't have to look for new movies, trailers, etc. They just come to me by themselves.
Which gadgets do you think should be written?
This is a good question. :) I can interpret it as both "When should a gadget be written?" and "What kind of gadgets are needed?"
About the first part, I think that if you have a good concept which brings something original, new, or useful, you should make the gadget. Often a source of creative ideas can be user suggestions themselves.
About gadgets that are needed but don't exist yet, I want to see this: a gadget that needs less and less input from the user, but gives more and better output. Some gadgets like this exist, but they don't take things beyond mere personalization. I'm talking about a gadget that almost thinks, by spotting problems and finding solutions. We were talking about an Orb gadget on a group, and it would have shown changes in weather, stock market, traffic, etc. in a simple but relevant manner. Too bad it didn't get developed, but who knows, maybe in the future? :)
What's the most exciting thing about writing a gadget?
The most exciting thing, apart from the usual satisfaction of making a cool product (because these days we can think of gadgets as such), is helping other people. And you can help a lot of people, too, because the Gadget Gallery can popularize your gadget worldwide. For example, it was nice to see that people use my gadgets in hospitals and companies, not just in their homes, and their feedback was very educational for me as a person and as a programmer. So a lot of satisfaction comes from seeing the aspects of people's lives where a gadget helped. When people want to find out more, they can visit your site, where you can cash in through Google Adsense. This way, everybody wins. (I'm not saying you'll be rich after a gadget, but after I made 4 or 5 good gadgets, the monthly check started paying a few bills. :)
What would you like to see next in the gadget platform?
I would like to see a well-thought interface design helper, which would enable developers to create appealing gadgets without having to rely too much on their 'artistic talents'. Not because developers can't be artistic, but because it's sometimes hard or time-consuming to create that good-looking, perfectly rounded shiny corner and its shadow. I'm not sure if this is achievable soon, but here's a feasible example: gradient creation through code, not just through image inclusion.
What's the most embarrassing bug you ever coded?
I have to say the classic missing semicolon got me. Once I debugged a program at university for half an hour, just to find out that it was missing the ';'. Dropping that semicolon changed an increment operation into a condition.
What's your favorite book about programming or computers?
Visual Basic .NET Tips & Techniques, by Kris Jamsa. I even had a very brief conversation with the author about this book. It's very well written, and it's a good model for programming resources, as well as book making.
What's the best advice you can give to a new developer?
Making gadgets is a lot more fun than I had expected it to be. If you're still not sure what you can do as a Google Desktop gadget developer, a good starting point is the Gadget API documentation homepage. It directs you to simple stuff like modifying a Hello World sample, as well as hands-on resources like the Gadget API reference or helpful articles and tutorials.
What's your favorite TV show or movie?
My favorite TV show is Lost. I also have to mention the Stargate shows, which have entertained me for a long time. (I even have a Stargate Easter egg in one of my gadgets. Can you find it?) The Lord Of The Rings: The Return Of The King is the best movie ever made, in my opinion. :) Again, I'd like to give an extra credit to The Matrix Revolutions, Revenge Of The Sith, and 300 — all masterpieces.
Is there anything else you'd like to say to Desktop gadget developers?
As Desktop gadget developers in a growing online world, we have the opportunity to push technology further with the ultimate goal of helping the user. We're positioned right between offline computing, which is necessary, and cloud computing, which is convenient. That's why I think Desktop gadgets, and developing gadgets, are very important.
I'd like to thank Teo for a really fun interview. The Google Desktop team also wishes him and his family the best. :)