Home > Haiku > Java 2D Progress on BeOS & Video Footage Java 2D Progress on BeOS & Video Footage Submitted by Chris Simmons 2004-12-26 Haiku 39 Comments Bryan Varner has created a video which shows Java2D working on BeOS. A mini-interview is also featured which details what has happened during the past few months, and where Java on BeOS is headed. About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 39 Comments 2004-12-26 10:40 am Anonymous Wow! Thanks for doing this stupendous amount of work and somehow manage to stick with it for such a long time! Very impressive! Hopefully SUN is just as impressed and doesn’t delay the further proceedings too long… Kudos, Bryan and all collaborators! 2004-12-26 11:02 am Anonymous Rapsey… Get a life man. BeOS is still widely used by a lot of people. The recent newsitems suggest that: GCC has been updated, Java is close, a new innovative integration between BeFS and Google has been developed etc. etc. This OS *does* stand a chance. 2004-12-26 11:11 am Anonymous The only thing I’d want for java (and A LOT of people): *standard java, no awt/swing implementation, that’s can always be done. *swt port. That way, I could do all my work on BeOS.. 2004-12-26 11:32 am Anonymous Kudos to all developers involved. Your work is much appreciated and will help Haiku on its way to greatness. Keep up the good work, and get this thing out to users ASAP 2004-12-26 11:57 am Anonymous This is plain simple wrong. Eugenia you should have some filters on. Oh by the way great news for Java I only hope sense prevails with Palm Source and they opensource BeOS and give it to Haiku for further development. I wish I wish make my wish come true santa 2004-12-26 11:59 am Anonymous My mirror: http://sparcs.kaist.ac.kr/~tinuviel/download/BeOS_Java_Christmas.av… I am speechless. Awe. 2004-12-26 12:00 pm Anonymous Cool, I can’t wait to use Java on BeOS, does anyone know how’s LoonCrazs flash player is coming? 2004-12-26 12:06 pm Anonymous Thank you Bryan, this is awesome. I do hope we get to hear more of these lovely news =). It would indeed be nice to see Sun certify Java for Haiku =) 2004-12-26 1:52 pm Anonymous That’s great, thanks indeed ! 2004-12-26 2:36 pm Anonymous Just finished watching the video and I’m very impressed. This is a good thing for the BeOS community as a whole. 2004-12-26 2:54 pm Anonymous I don’t like Java, it is just to slow. But i think it will give BeOS/Zeta a big amount of new Software and that is for the most people good. But my hope goese to the native software. 2004-12-26 3:16 pm Anonymous where can i get the software shown in the video.. is it a general swing test client or something? Tnx for help 2004-12-26 4:48 pm Anonymous Kudos to the developer(s) Very great work, I really hope that all this work don’t get lost and that we all can use it someday. I really would like to do my homebanking in BeOS Thanx for the movie – nice present ‘BE the difference that makes a difference’ – JEWEL 2004-12-26 5:38 pm Anonymous Has anybody made a Knoppix-style live-boot CD for BEOS? If feasible, it would be a cool idea. 2004-12-26 5:51 pm Anonymous “I really would like to do my homebanking in BeOS.” With Java support for BeOS there is the very likely possibility that MONEYDANCE (www.moneydance.com) will be supported. It is written in Java and is getting some popularity on the Apple platform amony others. It should work well in the US but I don’t know about Europe (in terms of the banking system). The developer is aware of BeOS. 2004-12-26 6:00 pm Anonymous Has anybody made a Knoppix-style live-boot CD for BEOS? If feasible, it would be a cool idea. Every BeOS disk is a live-cd . Just boot from the cd, and then the installer will appear. Then press ctrl+alt+del, and then press “restart desktop”. 2004-12-26 6:01 pm Anonymous @Dogen There were Live CDs for all releases up to Release 5. The reason it wasn’t released as a Live CD is that you can just as well install it to try it out. When installing BeOS, it boots up just as usual, but instead of starting the regular desktop apps such as Tracker and Deskbar, it starts Installer, which is a regular BeOS app. You can press Command-Control-T whilst in Installer to open up a Terminal and from there start the “desktop”. So, doing a Live CD for BeOS is trivial. 2004-12-26 6:24 pm Anonymous http://www.osnews.com/comment.php?news_id=6916 http://www.bebits.com/app/3225 http://www.bebits.com/app/4041 2004-12-26 7:06 pm Anonymous do you know any free/opensource product similar to this? 2004-12-26 7:38 pm Anonymous It’s sad that most people think java is slow as hell. However, this is mostly caused by the unresponsiveness of the GUI, which in turn is caused by the inability of most Swing porgrammers to use threads properly. If everyone knows about Foxtrot, Spin or SwingWorker, then we will at least have less problems. This being said, it could definitely be argued that the situation Java is in right now is mostly Sun’s fault. Had they incorporated SwingWorker or even better, to handle the threading issues transparently, then there will at least be less complaints. This being said, take a look at Juice News Network, a quick hack provided by James Gosling (Creator of Java). It is increditbly fast, even on my outdated AMD K6 computer. 2004-12-26 7:41 pm Anonymous Sorry, that was supposed to be “Juicy News Network”, the address is: jnn.dev.java.net 2004-12-26 9:45 pm Anonymous The interview at HaikuNews says that this version uses double buffering when drawing to the screen (Swing and Java2D), unlike the other implementations of Java for other platforms. Is this true? There is also some mention about the speed compared to the X11 solutions, so I guess Linux users will have their panties in a knot for a while… 2004-12-26 10:14 pm Anonymous “do you know any free/opensource product similar to this?” There may be but I don’t know. I have heard the developer present MONEYDANCE twice. He had to work several years to get the banks to let his program interact with their systems to support online banking. I could be wrong but I think he had to pay several thousands of dollars to be part of their “system”. MONEYDANCE is basically the product of a single developer over many years. He seems very responsive (IMO) and there may be parts of the code that he leaves open… not sure. He has a developers section on his web page so he is encouraging others to work with his product. 2004-12-26 11:37 pm Anonymous “However, this is mostly caused by the unresponsiveness of the GUI, which in turn is caused by the inability of most Swing porgrammers to use threads properly” If Bryan’s work ends successfully, it will be interesting situation with all those threads. Because no one at any other OS is forced to use (let it be even explicitly) at same grade, as BeOS devs do every time. So maybe we can show in future good example of proper Java/Swing coding, ehh? 2004-12-27 2:45 am Anonymous I don’t like Java, it is just to slow. But i think it will give BeOS/Zeta a big amount of new Software and that is for the most people good. But my hope goese to the native software. The problem with java is not that it is slow, the problem is that applications have a tendency to start slowly. This gives people the impression that they continue to be slow once up and running. In reality they are not. This is why java have had far more success on server side applications than on the desktop. Here the application starts once and then runs for a very long period of time. If your app is going to run for a year, it doesn’t really matter if it takes 5 or 20 seconds to start. What matters is that a Java appplication can be developed abot 3 times faster than a similar app in C++. This means that the projects will get cheeper or that you have more time to do testing and adjustments to your users needs if you use java and that usually ends up in a better user experience. 2004-12-27 7:01 am Anonymous Well, kinda surprised this took so long, seams oh, 4 years late. Anyways, different seeing a video for this, not exactly High Budget but I don’t think anyone will hold that against him. I’m scared though that someone wrote a song about BeOS. Plus BeOS just never was a good name to be spoken, looks great in text, but sound weird when spoken. At least it’s not Linux which looks weird in text, and sound really dumb when spoken. Anyways, good job on this. Definitely something BeOS can use. 2004-12-27 11:10 am Anonymous Many thanks to the team that spends plenty of time to make Java on BeOS a reality. Thanks! /Konrad 2004-12-27 11:18 am Anonymous As long as it’s here and can be used by Haiku R1, I’m happy. IMO Haiku can still become a great desktop, even in today’s world of Windows XP and Linux, and its things like this that will ensure R1 will not be ignored. If you haven’t heard 5038 then you haven’t used Be all too much It’s been around for eons. 2004-12-27 11:50 am Anonymous “He had to work several years to get the banks to let his program interact with their systems to support online banking. I could be wrong but I think he had to pay several thousands of dollars to be part of their “system”.” I live in Europe so i really doubt i could get it to work with my bank. What i need is a (quite) simple personal finance manager where i wrote what i’ve bought and to checkout how much i’ve spent in a month/year I found http://jmoney.sourceforge.net/ and http://jgnash.sourceforge.net/news.php but they dont seem so… complete 2004-12-27 2:07 pm Anonymous Great news! Huge accomplishment. Kudos to the developers who made it happen, when other weren’t able to. 2004-12-27 3:38 pm Anonymous I don’t know if we will EVER see a completed Haiku. I hope so. And any work that makes such an OS more robust, as this does… Is certainly welcome. My life will go on without a BeOS Resurrection. I loved BeOS and thought it was marketed rather badly… Be SHOULD have gone up against Microsoft. They should have allowed companies to bundle it with their machines as the ONLY OS. Maybe it STILL would have failed. Maybe not. 2004-12-27 4:52 pm Anonymous This is not correct. Swing is double-buffered on all platforms (except on OS X where everything is double-buffered, all rendering goes to an offscreen buffer, which allows for OS X nifty effects with windows). 2004-12-27 6:55 pm Anonymous Yes, Swing is double-buffered, it performs all operations on offscreen Image classes, then uses the Graphics2D class to blit the offscreen image to the visible component. That is true for all platforms. However, Swing is not Java2D, and Java2D is not Swing. Java2D was an architecture for creating a more robust, potentially accelerated, and more powerfull standardized Graphics subsystem for AWT. As of Java 1.2, all Graphics objects are internally Graphics2D objects. The original Graphics interface was kept around primarily for compatibility. Since Java2D operates in conjunction with the AWT components, swing uses it as a byproduct. Swing can also run on pre-java 1.2 AWT’s that don’t have Java2D. Hence, why Swing has it’s own double-buffering. The point with the BeOS Java2D implementation is that -all- AWT Graphics (the Java2D implementation) are double-buffered. This results in extremely smooth graphics in AWT / Java2D only programs that don’t create their own double-buffering strategy. Take a look at the WireFrame demo applet on Windows and X11. It’s got a -lot- of flicker, as lines redraw without any buffering. In BeOS, this isn’t the case. It’s completely smooth, because it’s all double-buffered. This buffering is entirely transparent to the developer and user. I should probably write up something on my blog pertaining to this, and explaining how nothing changes for devs. The BeOS double-buffering wasn’t something extra I added for kicks. It was, due to the way BeOS’s BViews work, pretty much essential. 2004-12-27 8:00 pm Anonymous Bryan, thanks for the explanation.. So does this mean that unaware swing applications running on BeOS will be triple-buffered by default? 2004-12-27 9:41 pm Anonymous In some way, yes. I’m working on a write-up of how this all works to shed some light on it. The buffering scheme for AWT objects utilizes only one backbuffer, which is modified by the java code. The BeOS app_server then draws the current contents of the buffer to the component when the component requires an update. That’s the quick n’ dirty explanation of how things are working right now. That’s to say I expect this to change in the future. 2004-12-28 11:06 am Anonymous It was a great OS…I do hope that Haiku can match what Be Inc. had. Palm have been quite happy to take from open source by using the Linux Kernel in the next Palm Operating System release. Palm…here’s a little pointer, a lot of people would appreciate BeOS being open sourced. Even the parts that you haven’t used. 2004-12-28 12:33 pm Anonymous @Bryan So will the blitting done by the BeOS Java2D implementation do implicit blitting, or will it be updated only when people tell it to, so to speak? You did say there would be no difference for Java apps, so I suppose it’s rather implicit. How is speed? For example, on the Wireframe demo, is it as fast as on Windows? It should be a bit slower, beause of the double buffering used, or am I incorrect in assuming this? Think you could do some kind of benchmark? (Or weren’t you allowed to do that by the Sun agreement?) Either way, this is really great news, with Java. Finally I can use Jython…. 😉 Oh, and by the way – think there’ll be a chance to get some kind of native widgets for Java? I don’t know how Swing is done, but perhaps one could write extension modules (don’t know what they’re called in Java, sorry…) that let one allocate regular Interface Kit components and use them in Swing/AWT instead, in order to create a native look and feel of the apps? That’d be really nice! 2004-12-28 5:31 pm Anonymous BeOS-like Swing widgets are already done and work fine on other platforms. Search for them on qube.ru forum. http://www.qube.ru/forums/item/common/message/13007/ http://flavum.narod.ru/index.html 2004-12-29 5:15 am Anonymous Congrats on the early Java implementation!