Jeremy Frisner wrote a cool server software that allows developers to send BMessage like things over a network interface. He calls it MUSCLE. To demonstrate it’s potential, he wrote a small app called BeShare, which has grown and become a great piece of software for BeOS users everywhere. Because of this, when Technix and I had the opportunity to interview him, we jumped at it. Not only did we get some info about him… we also got some info (and shots) of his next project.
Nutcase: First off, we must begin correctly. What is your name?
Nutcase: What is your quest?
To have fun with BeOS, and make cool stuff
Nutcase: What is your favorite color?
Nutcase: All right then. On we go.
Technix: How long have you been using BeOS?
Since 1996 or so; I read about the BeBox on Slashdot and felt that I had to have one…. I didn’t have money to buy one though. But when it came out for PowerMac I started using it at school.
Technix: What brought you to use BeOS. Can you share your emotions and thoughts when you decided to use BeOS for the first time?
I was really impressed by the potential of SMP. I was an Amiga user since 1986 or so, and with Amigas coming to an end I was looking around for something else which was as cool.The choices at the time seemed to be a BeBox or an A\Box; the A\Box was an amazing computer that never actually got built AFAIK ;^)The first time I actually saw BeOS in person was at the GeekFest developer conference in (I think) 1996.I didn’t get much of a chance to play with it there, but I did enjoy hearing the Be employees talk about various parts of it.One of the things they talked about was why BeOS wouldn’t be able to scale much past 8 CPUs (due to hardware problems with CPUs sharing a single memory bus). tried to resolve that problem with my first BeOS project, SockHop. SockHop was a distributed computing environment for BeOS (a bit like Beowulf for Linux)
Technix: You are obviously a talented programmer, what with many applications on BeBits.com, including the popular BeShare. Could you relate your programming experience for us, even before the BeOS days?
I first started programming in BASIC on the Commodore PETs at my elementary school. Later I got my first computer, a TI 99/4A, and I made a lot of little BASIC programs on that. In High School, I got my first Amiga, but there was so much cool software to play with that I didn’t get around to writing any of my own until 1992, my sophomore year in college. After 1992 I did several fun Amiga programs, mostly things that worked over the Internet.I did a voice-chat program called AmiPhone, a collaborative drawing program called AmiSlate, and a multi-user server called Amarquee that was the first version of MUSCLE, really.
Technix: If you were to choose one feature not yet implemented in ANY operating system, what would it be, and why is it important to you?
I hope this doesn’t sound like I’m just trying to promote BeShare, but I think an OS that shipped with an on-line chat client embedded in the desktop by default would be really great. Many people sit down at a computer and spend hours trying to get something to work, when someone with the right knowledge could set them on the right path with a single line of text. Automated on-line help is never useful; it’s always too general and vague to tell you anything you wanted to know. And I won’t even talk about phone-based tech-support. But if there was a little text window in your desktop that you could type a question into, and other users would answer, that would be great.
Nutcase: A chat client on the desktop. Could BeShare be made into a replicant to fufill that need?
Yes, it wouldn’t be terribly difficult to do that, I think. The only real issue I can imagine is the possibility of the replicant trying to connect before net_server is up, and that issue will go away when BONE is out.
Technix: How do you spend your time these days? What programming projects are you working on that you can legally talk about? We know you work for Level Control Systems, and wouldn’t want to break any NDA’s.
I spend way too much time at the computer these days…. if it’s not at work, it’s at home fixing things on BeShare, or working on my new project, a Dance Dance Revolution clone for BeOS. LCS is actually pretty open about what we are doing; they haven’t made me sign any NDA’s yet, anyway. I’m also doing a bit of scuba diving and skiing…. I don’t want people to thing I *never* leave the computer ;^)
Nutcase: A Dance Dance Revolution clone for BeOS… Can you tell us more about that?
It will be at its heart a blatant rip-off of DDR ;^). It is based on the new OpenGL kit, although the main graphics will still be 2D. Unlike the arcade game, you will be able to use any of your mp3s with it, and it will include an editor to let you compose your own dance steps. At the moment, I’m planning to add the dance-steps annotation (and other data) to the mp3 file as BeOS attributes; I may change that if it turns out not to work as well as I’d like.
Nutcase: By 2D graphics do you mean everything will be 2d? Are you planning on including the dancers, or just psychedelic backgrounds?
Probably no dancers; I don’t think I have the artistic talent to render them well. The arrows themselves will scroll in 2D (although I have thought about allowing 3D transforms on them as they scroll to spice things up… but first things first). I also want to incorporate some sort of eye-candy plugin system for the backgrounds; these could presumably do 3D graphics.
Nutcase: As far as the mp3’s, How will you sync dance moves to the music? Will it be an editor, or will the timing of the moves be pulled from the actual mp3 data?
I’m working on the editor now; it will play the music and you will press keys on the keypad to insert arrow icons into the sequence. That part is actually working pretty well already. It’s also going to be a multi-pass sort of thing, so that you can go through once just tapping the space bar to get the basic rhythm down, and then once you are happy with that, you’ll be able to run it through again and again putting the actual steps in, and the computer will auto-correct their positions so that they correspond with the music. Each step has a timestamp in microseconds, and the display is directly slaved to the current play position of the mp3s (also in microseconds), so it should be pretty accurate. I won’t be doing much if any automatic analysis of the mp3; I think it will be more fun to do this sort of thing by hand, and the results will be better and more creative that way.
Nutcase: right. and if you had to input all the actual steps in real time, it would be hard to make challenging levels. That sounds awesome. Any timeline in mind? Do you have any screenshots you can share?
I’d like to have a basic version ready in a month or so; of course if the new OpenGL kit isn’t available by then there won’t be many people who can use it. :^( If it’s all 2D still, it might not be to hard to make an alternative old-OpenGL or even raster renderer for it. If I gave you a screenshot right now, it wouldn’t look very impressive; just some colored arrows on a black background. Probably better to wait until I’ve polished it up some more.
[Editor’s Note: He gave us the following screenshots about 20 seconds later. ;-P ]
Nutcase: Will the DDR clone have multiplayer support?
Eventually, I’d like to add that in; both multiple players on a single machine (assuming the hardware can be made to support that) and linking of multiple machines (with MUSCLE, of course ;^)) for larger numbers of people to play at once. Also I’d like to write some plug-ins for MIDI controllers and such, so that the game could be used to control strobe lights, etc, for the real disco effect ;^) But, I have to get the basic game done first, before I can think about that sort of thing.
Nutcase: What are your release plans for the DDR clone? Commercial? Shareware? Freeware?
It’ll be either Freeware or Shareware, depending on how well it comes out.
Nutcase: What are you gonna call it?
The working title for now is DanceLogic … that was the name of one of the C++ classes I was writing for it and I kind of liked the way it sounded. :^)
Technix: What is the single most exciting feature of BeOS? How would you improve upon it, if you could?
The single most exciting feature IMHO is the mindset of its creators; they never settle for ‘good enough’ in the design or implementation of the OS. They always seem to think ‘what is the best possible way to do this?’ and then they implement that way. And if it doesn’t come out the way they wanted, they aren’t afraid to throw it out and try again. The result is an OS where everything works well and fits together nicely. The main improvement BeOS needs is support. It needs drivers. It needs software. It needs companies to know what BeOS, and ensure their products work with BeOS. Unfortunately that doesn’t seem to be happening. :^( I want to go into Frye’s and see all the laptops supporting speakers saying ‘designed for BeOS R6′ ;^)
Technix: How did you feel about Be Inc. and the infamous “Focus Shift”? If you were to pretend to be a fly on the wall at one of their meetings, what do you think you would see?
The focus shift was pretty disenheartening for us BeOS users, but I can see that it was the right thing (and probably the only thing) for Be to do. The only thing I would have done differently if I were Be is make very clear that BeOS was still being supported (at least to what extent it was to be supported). When Be made the focus shift, they talked about BeIA a lot, but didn’t say much of anything about BeOS. This left people to fill in their own conclusions, and they came up with all the worst-case scenarios. This caused some companies such as Steinberg to jump ship. I think Be kind of stabbed themselves in the back there. I’m sure there were some very heated meetings at Be. I couldn’t help but notice that some of Be’s best engineers left the company soon after that. But it was something Be had to do, or they would be out of business today. It sucks to try to compete against a well-funded monopoly. ;^P
Technix: You mentioned that you spend a lot of time on BeShare. Can you give us an idea of what’s coming down the road with it?
Frankly, not much. It’s reached the point where I think it’s fulfilled its function, and to keep adding feature after feature now would just make it buggy and bloated. I will continue to fix bugs on it, of course, and add languages and minor features when I feel inspired, but I doubt that you will see major new functionality (coming from me, anyway. Other people can do what they like with the source). I like programs to do one thing well, rather than many things poorly.
Technix: Working on BeShare is obviously one of your passions. Besides from that, can you share with us a bit of your personal life. What do you like to do to get away from the “grind”. You mentioned scuba diving and skiing. How physically active are you?
I’m terribly inactive. One of my goals is to get more exercise; the problem is that it cuts into my programming time. ;^) In a way, the Dance Dance Revolution clone I’m working on is a sort of bizarre attempt to do exercise and programming at once….
Nutcase: You mentioned the DDR clone is “sort of exercise” - are you planning a dance pad hardware interface? Powerpad BeOS drivers?
The hardware pad interface I’m not sure about yet; there is a parallel-port dance pad available for PCs on eBay, but I haven’t been able to reverse engineer that to get it to work with BeOS (yet ;^)). There is also a pad out for the PlayStation, and it’s likely that that plus a PlayStation <-> PC joystick converter could be made to work. Also, I’ve sort of considered making my own custom input device, but I’ll probably only do that if all else fails.
Nutcase: So you ARE planning the hardware side of things. Very cool. Is this (link) the device on ebay you were talking about?
Yes, that’s the PlayStation version. Actually that’s the ‘high end’ version; the low end one is just a soft fabric. This one is non-flexible with lights, much cooler :^)
Technix: What is your opinion of the BeOS Community? If there was one thing we could all focus on, what would it be? Programming, or otherwise.
I think the BeOS community is great; very friendly and helpful people. If there is a thing the community should focus on, I think it would be getting drivers and software written. Without those, the community will eventually evaporate. Since Be doesn’t look likely to be writing more drivers, it’s really up to us.
Technix: Well, thank you for your time, Jeremy… It’s been a pleasure speaking with a BeOS enthusiast such as yourself, and skilled programmer to boot.
Thanks for taking the time to interview me :^)
Technix: We look forward to your progress in the future! The best of luck, from the BeOS Community, and BeGroovy!
Nutcase: Thanks Jeremy! And Hurry up with DanceLogic! It may be the only form of exercise I can stick with!
[powered by WordPress.]
BeIA: net appliance
Still, no web for you
Since 1998 - Until the Last User Leaves...
— BeGroovy, established 1998
23 queries. 0.066 seconds
[powered by WordPress.]