Spotlight on DockBert -- Interview with Hugo Santos & Daniel T. Bender.
23 March 2002, 06:05gmt, by , Senior Journalist & , Contributing Journalist
From the who-us? department...
Following up on a lead from Frank Paul Silye, an avid BeOS user, The BeOSJournal recently got a chance to sit down with two up and coming coders new to the BeOS scene.
Hugo Santos, and Daniel T. Bender, both new to coding in BeOS, speak to us about their work on a MacOS X Dock like app for BeOS, and what is coming in the future.
|
T.B.J. : Hi guys, welcome! Thanks for taking the time to do this.
|
Hugo : Hello. ;) |
Daniel : Greetings, our pleasure. |
DockBert with Preference Window, and Transparent Menus.
|
1.) Readers wishing to try out this project need to know what it's called. What do you intend to name it?
|
Daniel : DockBert. It's based on that dog from Dilbert. We both like it, it sounds cute |
2.) How did the idea of DockBert come about?
|
Hugo : I dont really remember.. I recall talking with Daniel. He had the idea to do something like this as well and then we began merging ideas. My idea was GONX oriented while his idea was more MacOSX oriented if I recall correctly :) My inital idea was of a bar where when you moved your mouse over it.. it had some nifty animation I had imagined I thought the gonxbar was like that :)
Daniel : I started my first approach in python, with a little window that moves up on mouse-over. Then I moved that to C++. I already had figured out how to recognize drops on the window, when Hugo mentioned he was working on a "secret" project. That was the point were we joined I think.
Hugo : Yes, then Daniel introduced auto-hide, and step by step it came to be what it is today I guess.
|
3.) Can you tell us where the codebase began it's life?
|
Daniel : Well, Hugo replaced all my code I think ... but he will be gone next week so I will mess up the code *g*
Hugo : Well.. the dock's source is built around deskbar. I did that so I could use deskbar's code for application launching/exiting events. After I presented Daniel with my code.. the one based in deskbar we kept that code
Daniel : Yeah, we continued with Hugo's code. it was far more mature ... and he is a much better coder :-P
|
4.) Can you tell us what the most difficult part of coding this project has been for each of you?
|
Daniel : C++ ... and reading Hugo's code. (grin)
Hugo : For me it as been bug fixing. When I introduce new stuff, new bugs arise and sometimes it's hard to find all of them. When we release alphas I can get into bug reporting because my releases almost never crash but users find most bugs :)
Daniel : Actually beshare people has been very friendly about that.
Hugo : Right, all people who tried the dock are very kind with bug-reporting and feature requests.
|
5.) If Dockbert were an animal, what animal would it most likely be?
|
Hugo : Hey, i've seen that question plenty of times. What do you want to say with that? Is it a psycological question? :P
Daniel : I Think there is no right answere to this ...
Hugo : Animal, let me think...
Daniel : I say, a Höhlengnarf ... as most people don't know what that is. *G*
Hugo : I'm thinking a Dog, as Opentracker's masqot is a dog. :P
Daniel : eheh, I mentioned dogbert once ... the dog from dilbert ...
Hugo : yep, you did! :)
|
6.) If someone were to dive into your source code, would they have an easy time?
|
Daniel : Hugo : Are we opensource? *G*
Hugo : Of course :)
Daniel : ah, k :))
Hugo : Well, I try to code as clean as I can, but it doesn't mean my code will be easy to read. :)
Daniel : Well, I find Hugo's code is readable ... and that is from a learning-C++ point of view ... more comments would be nice. Maybe I will document it more in the future.
Hugo : I think it depends on the reader's experience
Hugo : Oh yeah, I don't really comment.. I'm lazy eheh. I just do comments as "this doesnt work." But they are self-comments :) eheh
Daniel : I'm glad no one has seen the code of the prefs app so far. *huh*
|
7.) Do you intend to keep your code as open source?
|
Hugo : Well, that is something we havent really discussed. My idea is to keep it as open as possible because maybe in the future Axel may wake up happy in the morning and say yes to a possible merge. :) Not that we have talked with him yet. :P
Daniel : Maybe we should.
|
DockBert with custom tabs, which you can move!
|
8.) You mentioned BeShare earlier as a good resource. Can you explain why it's so good for your work?
|
Daniel : *g* Fast user feedback.
Hugo : Well, in BeShare we have people that use BeOS and they want to try new stuff. As we know BeOS nowadays isn't full of new stuff. They test everything. That is good.
Hugo : So I think people try to get everything they can put their hands on with excitement and then they test it, and find bugs and report them to us instantly which enables us to fix them fast. :)
Daniel : BeShare people are fast with feature requests.
Hugo : Yep.
|
9.) What other resources have you used in developing your code, besides working together? Can you help the novice coder who is just starting out?
|
Hugo : Well in terms of development tools I use the terminal, gcc, make, and BeIDE for code editing. We really aren't doing any kind of source control stuff yet.. I wanted to get into that into the future.. It's better for management.
Daniel : Everyone out there, get someone you can bug to death with questions. Hugo has proven to be a really good reference-book :)
Hugo : I think we should help as many people as we can.. make them feel good about the community and this way stay longer in the community.
Daniel : Also, most Be coders are very helpful. There is a #bedev channel on irc.sorcery.net.
Hugo : I use BeShare mainly.
|
10.) Let's discuss features. What are the current features that are working in the latest release?
|
Hugo : Right now running apps listing work.
Hugo : Shortcuts work.
Hugo : Drag 'N' Drop works mostly everywhere, including color dropping.
Hugo : Tracker menus have made their debut and are working out nicely.
Hugo : I think these are the major working features.
|
11.) What features are on the drawing board for the immediate next version?
|
Hugo : For the immediate next big version I'm working on full Tracker integration, meaning dropping stuff from the Tracker to the icons of running apps, and more. Dragging files to folders in the dock and making it work like the real Tracker folder dragging does.
Hugo : Sub-menus are also a priority. After that, I'm thinking of adding in a replicant tray tab. We also want to support full positioning of the dock. Bottom, top, left, right, etc. There is a bunch of user requested stuff too, but I dont really remember now. I have them in a TODO file in my home pc.
Daniel : Completing the prefs app, with all options, customizable tabs, names, reordering, and a fancy About window. A big issue is the Deskbar Replicants. After that we should take on the left/right/top positioning of the dock. My next milestone is to make the prefs app work with the new scripting capabillities of the dock ... he changed almost everything :-P
Hugo : I made the scripting protocol more standard :)
|
12.) Are you worried about copying too much of the MacOS X Dock interface, ideas, etc?
|
Hugo : I dont think this is a MacOS X Dock copy.The MacOS X Dock has some nice features, but before it, NeXT existed.
Daniel : Well, it's not a direct copy.
Hugo : I guess this is a productive way of putting stuff out.. so.. if the MacOS X Dock existed or not I guess we would have made it almost the same way anyhow. Plus we have some stuff the MacOS X Dock doesnt have, and it has some stuff we dont have.
Daniel : eheh, right. At least when the full set of planned features is there, it will be way cooler than the MacOS X Dock.
Hugo : :P
|
13.) You mentioned wanting Axel to incorporate this project into openDeskbar. How feasible is that from your point of view?
|
Hugo : I think axel is a nice guy, so I hope he doesnt take it wrong. :) Some people have asked us this.. about integration with the OT deskbar but it isn't something we think about now.
Daniel : Axel has his own strategy for the openDeskbar development, so we shouldn't mess anything up.
Hugo : I would like to speak with Axel in the near future but I won't press it. :) I just want to talk about it.
|
14.) Can you tell us your thoughts on the whole openBeOS movement?
|
Daniel : The openBeOS project is great. It shows that there is still life and belief in the community, and that is a good thing. :)
Daniel : I would love to join some openBeOS team, but I have not that much time. :(
Daniel : The openBeOS project could grow into something very big and cool, as linux is too bloated and complicated for end-users and nobody likes windows ... and macs are expensive. :)
Hugo : Well, I was part of the original group of people who formed openBeOS but I left a short time after because of some other stuff in real life here. I had to stop using BeOS for a while due mainly to hardware problems.
Hugo : I think openBeOS is the logic to get the great platform that is BeOS still moving and for what I see from it, it is going along nicely, which I think is great. BeOS is a great platform, I hope it stays that way.
Hugo : I just have one wish.. I think some kind of OpenBEOS Foundation should be formed as in the Gnome foundation, that would coordinate the project itself for both R1, R2 and future releases.
Daniel : right ... maybe BeUnited could initiate something like this.
|
15.) One final question. Why do you code in BeOS?
|
Hugo : Well, I code in BeOS mainly because of 3 things:
Hugo : a.) I love the API. It's the best API I've coded in ever. I've tried Win32, GTK and QT, and nothing is as nice as the BeAPI.
Hugo : b.) BeOS is the best desktop platform ever. I've tried MacOS, Windows, Linux, QNX, and some others, and no desktop platform is as nice as BeOS. Maybe Linux or QNX aren't meant to be desktop platforms.. but you get what I mean :)
Hugo : c.) Finally, the people using BeOS are great. :) Its a great community.
Daniel : well, I personally like the BeAPI. I started with BeOS as a user ... while my coding was mainly script-orientated (Python and stuff) I wasn't platform bound.
Daniel : After I started some "serious" coding (i.e. C++) I found that BeOS had the most easy to use API ... and the concept behind BMessages is absolutely beautiful.
Daniel : The ppl are great :) I love them ... most of them ... :) Especially BeShare. It's a great place to hang around.
Daniel : BeShare, coding ... BeOS Radio ... that is so cool *eheh*
Hugo : Yep, in BeShare hang a lot of nice people, such as Technix and BeFrank, who were nice enough to support us with this article. :)
|
T.B.J. : Alright guys.... Thank you for taking the time to talk with The BeOSJournal. Our readers are sure to have many more questions for you. Can you provide us with some contact emails, and website addresses for them?
|
Hugo : Daniel will setup a website soon.
Daniel : here ... but I will set up the site asap.
Hugo : my email is
Hugo : but I wont be contactable during a week starting friday, March 22nd.
Daniel : That is when I start messing up the code... *harhar*
Hugo : yep
Hugo : i'll be on my final years trip
Hugo : I'm going to spain hmm :)
|
T.B.J. : Thanks again, both of you. It's been a pleasure
|
Daniel : One is glad to be of service :)
Hugo : Thank you Technix, BeFrank... It was great :)
|