Today we check in with Eric Wong, developer of CircleDock, VideoInPicture, Easy Unicode paster. Sit back and give our interview with Eric Wong a read.
Q. Hello, Eric Please introduce yourself and share some facts about yourself.
I’m Canadian, living in Alberta, Canada. I’m a university student current finishing up a Mechanical Engineering degree and working on a Software Engineering degree. I hope to be working at a software company this coming spring.I like warm weather and wish that I’m in some place warm every winter. I was born in China but came to Canada at a very young age. I can speak Cantonese but greatly prefer English.
Q. What got you started in design and coding? What the first piece of coding you ever worked on?
My first time coding was way back on my first computer with Windows 95 when Java first came out and I was in junior high. I was on a 28.8 dial up connection and downloaded the huge (for that time) 20 meg SDK that Java released. It took me all night to get it and I simply coded a “Hello World” program using a text editor. Looking back, I wished Java would have bundled some kind of IDE with its SDK so it wouldn’t have been so archaic to use for a first time programmer.
I think I also played around with QBasic at that time because it came on Windows 95. I wanted to write some games because I thought it would be cool and easy to do. The easy part wasn’t easy and I soon dropped the idea because I grew out of computer gaming. I don’t actually play computer games anymore, except for the occasional game of chess.
Q. Which is your favourite programming language? Which tool you use for creating apps?
My favourite language right now is C# using the .Net Framework since it is very coder friendly and has a large coding community. I’m using Microsoft Visual Studio Express 2008 for .Net development and regular C++ coding. Although, I wish Microsoft wouldn’t disable the WinForms designer for Visual C++ Express.
Sometimes I’ll do VB scripts and for that I simply using Microsoft’s Notepad. I should probably use something better, though. I use Eclipse for programming in languages not supported by Visual Studio, such as Java.
I also use WinID frequently to check window styles from other programs. I’ve also started using ScreenshotCaptor to make screenshots for my programs since documenting a program is very important for the end user experience.
Q. How much time do you usually spend on computers/programming?
It depends on the time of the year and how much focus I’m putting into cycling. It’s also hard to say because university classes require you to use computers, too. But, I think it’s safe to say that the computer replaces the TV for me.
If I have some free time and want to program, I will do it. If I have other important things to do, those come first.
Q. What made you want to start CircleDock? Other than CircleDock & VideoInCapture, Do you have any other projects on the go?
Well, Circle Dock was the result of the DonationCoder / Veign programming contest and I was just thinking around for ideas after I coded Webcam Signature. Like many people, I had seen those “supposedly real” screenshots of Windows 7 on various blogs and message forums in the months prior.
I thought it would be neat to have a circular dock since it is in theory more ergonomically correct. I did some searching for circular docks out on the web but did not find any for Windows that worked well or were able to be thoroughly customized. Most were simply static and fixed so you could not change what was on the dock or customize the appearance (the sole exception being Magic Formation).
Not satisfied, I started to code Circle Dock because I wanted something better. Later on, it became apparent to me that most docks are closed source, which made it quite difficult for me to program Circle Dock effectively. Since I’ve learned so much from the open source community and people sharing code (like on CodeProject.com), I wanted to show how a docking program can be made and share the code so others can utilize it. I think it is important to share code so that innovation can be supported. This is why I choose the GNU General Public License for many of my programs.
Other than Circle Dock and Video In Picture, I have listed on the DonationCoder.com messageboards: Webcam Signature, Easy Unicode Paster, Window Extractor, and Custom Desktop Logo. Most of my focus right now is on getting Circle Dock to a higher level of performance and animation. Once I get it to the point of supporting docklets/extensions, I will focus on creating other large projects I have in mind and updating my existing ones.
Mouser at DonationCoder.com has given me an idea that he would like to see implemented and I’m currently looking at the feasibility/planning of it. I will keep this hush, hush since it’s pretty preliminary.
Q. Do you have any experience with operating systems other than windows? How much you are involved in it?
I primarily use Windows because of its large user base and because it is very user friendly (most of the time). I have also had some experience programming C++ in Linux but not near the level that I can program in Windows. However, I will be developing more in Linux since I have discovered VirtualBox and I can run Linux inside of Windows. I would prefer not to have to dual boot my computer.
Q. Did you “teach yourself” your skills, or did learn from a school or other resource?
I have learned most of my programming skills by myself with lots of help from the excellent coding articles on CodeProject.com. I have taken some C++ courses in high school and university but they were too focused on teaching algorithms and basic techniques. After each course, I kept asking how I could make a GUI application someone would actually use instead of reverting back to a texted base console. That is why I had to teach myself many programming skills.
Q. Do you have any hobbies and interests away from the desk?
I am a very avid bicycle racer on the road. I also like to run when it’s warm out. If I’m not programming/working/at University, you will likely find me in the gym or out on my bike. If you give me a choice of driving or riding my bike, I will take the bike.
Q. Who or what in your life would you say influenced you most?
Cycling, it gave me independence and has greatly shaped how I view the world and how I live. It is a sport and a lifestyle for me. I think everyone should try riding their bike more often, even if they don’t plan on racing. Commuting to school or work on a bicycle is a very relaxing way to start and end the day. It’s a great way to get back to nature and experience your surroundings that you can’t get by driving a car.
Q. Your favourite stuff from: Food/ T.V.Show/ Music/ Books/ Website?
Food: No preference. I will pretty much eat anything as long as it’s “normal” food. Although, I had a HUGE sweet tooth for pies and cookies for a couple of years. I’m glad that’s over!
T.V. Show: None. I don’t watch T.V. that much. I prefer to watch movies. In particular, I really like the works of Stephen Chow and Jackie Chan.
Music: I like music from Chantal Kreviazuk and Sarah McLachlan.
Books: Anything by Roald Dahl.
Q. Where do you see yourself in ten years time?
I see myself in a coding career for application development and hopefully I will have lots of time to do bicycle racing because I really love riding my bike. I want to take my bike over to Europe and Australia and just have some fun racing.
Q. Any advice you’d give to new programmers?
I wish someone would have shown me this in my programming courses but not one teacher/professor has mentioned it! Ever tried entering a letter in your console program when it is expecting a number?
Another piece of important advice is to plan your program out thoroughly. I would say that programming is 90% planning and 10% actual coding. If you have a good plan, your code will flow much more naturally. If you have a bad plan, it will come back and bite you when you want to change your code or add something to it.
Once again, thanks for your time Eric. It’s been a pleasure. I know I’m looking forward to seeing more of your work around. (Interview : Sept 22 -2008)