Thursday, August 24, 2006
Swing, A Native Widget?
I have been advocating this for a few years now, but every now and then I stumble upon a non-believer. Some people think that Java applications should look different. Since Java is running on its own VM, I have heard arguments that SWT does not look native! Native means that it should look like Java because the Java VM is the system it is running on.
Ok, maybe there is some validity here. Maybe we want the napkin look and feel for a fun looking Image Browser. SWTSwing gives us this by considering Swing A native widget that SWT wraps. In the same way SWT wraps GTK+, Motif, Win32, etc... so everyone who uses these platforms are happy. Now SWTSwing wraps Swing.
Now I can continue advocating SWT, but if I really want it to look like a Java App, it can!
Tuesday, August 15, 2006
SWT-- In podcast form
As well, anyone who thinks there is an SWT vs. Swing war going on should really hear what Steve has to say.
Saturday, July 22, 2006
Can we learn anything new from Swing?
I have done something that all developers should be cautious of; I found one technology I really liked and settled without tracking the competition. The technology I am referring to is SWT! A few years ago I stumbled upon SWT and I haven't looked back since. SWT was faster than Swing, felt better than Swing and of course, my Java apps finally stopped looking like "Java Apps". For years I was happy, I told everyone how much better SWT was than Swing, and I wondered why the whole world hadn't switched over.
Recently I started listening to a few of the Java Posse's Podcasts. The Podcast consists of 4 guys talking about New and Noteworthy things regarding Java. They don't seem to have much experience with Eclipse, although their general Java knowledge seems pretty good. N.B: They are definitely Swing Guys! After listening to their Podcast about Swing Labs I thought I should check it out. It looks like Swing has come a long way in the past 4 years, and the Swing developers credit some of the success to the arrival of SWT. They have claimed that SWT gave them a kick in the rear. They even claim in the SWT vs. Swing battle, Swing has won... I wouldn't go that far!
I don't understand why anyone would want something that almost looks like "Real Widgets!". That is like saying I like my floor because it "Almost looks like Hardwood!" The quote I enjoy most is, "On Windows, Swing looks like windows, and on Linux it looks like Linux..." Looks like Linux!!! What on earth does that mean? Including myself, we have 4 heavy Linux users in our lab, and we all have different Themes, Colours, and Fonts... What does a Linux Button look like?
But when it comes to Emulated (Non-Native) Widgets, Swing may have stumbled upon something. Swing Labs are a group of developers who are writing "Sexy" Swing apps to show the power of Swing. As they develop these applications, new widgets are componentized and they eventually make their way back into the SDK. I was wondering if something like this would be useful for SWT. I am aware of the Nebula project; however, the widgets here still seem to have a business focus. Also, this project is focused on the creation of widgets, not demonstrating their uses through new “toys”. I am primarily talking about applications and widgets for the average home user.
Don't get me wrong, I think native widgets are very important and most applications should be using these. However, for the next Funky I.M. application, Map Viewer, Media Player, Image Browser, Video Game, etc... Fancy looking, Drop Shadowy, Web 2.0ish User Interfaces can have a huge impact. If you don't believe me, just look at the number of skins people have created for WinAMP / XMMS. I personally don't like the look of iTunes, but many people do. It is this type of customization which is very difficult in SWT and it may be something to consider as we move forward.
Does anyone have any thoughts (without getting into the age old SWT vs. Swing battle).
Wednesday, July 05, 2006
96 Votes and Closing!
The same thing holds true for Eclipse Bug#37683 (Address platform-specific UI performance problems). Most of the advice here is out-of-date, and many of the problems reported have been fixed. While the SWT team has done a remarkable job over the past few years fixing performance problems, there are still several "Platform Specific Performance Problems" with SWT (Bug #134760, Bug#51693, among others). Steve Northover has proposed closing this bug, and I completely agree with him! This bug report provides very little value to the SWT user and developer communities. It is too general to use for SWT planning and too out dated for the average user. However, the bug does have 1 very valuable contribution, it is one of the most voted for bugs and it indicates that platform specific performance problems are important to the Eclipse community. If you are interested in SWT performance, please voice your opinions about this bug report in bugzilla!
I think comment #211 is an excellent idea. Each release the SWT team could create a bug report that we could use to track performance related issues for that release. Concrete bugs that are currently being investigated could be linked to this report. This would not only give the user community a chance to pitch in on current development efforts, but it would also give us a chance to share up-to-date information regarding performance tips with one anther. For example, I just recently discovered how much Xinerama hurts performance when it is enabled for dual monitor support. Now this may be common knowledge to most people out there, but I bet there is at least 1 other Linux user who did not know this, and it would be great to have an updated performance forum to share this information.
It might even be a good idea to distill the most relevant performance advice and post it to a page on the Eclipse Wiki.
Friday, May 26, 2006
Why I Love Eclipse
Let me tell you a story:
By Sunday night I was angry. No answer from Eclipse, No answer from Microsoft. I sent them the form on the same day! (Maybe I should have listened to my wife and not worked on the weekend. :))
Friday, April 14, 2006
3.2 Endgame
What does this mean? It means summer must be almost here because Eclipse 3.2 is almost ready for release. Eclipse 3.2 is into its final stages and you can check-out the latest and greatest features by downloading the Release Candidates. I won't link to any here because you should go through and select a proper mirror :)
Along with the Eclipse 3.2 release, the Eclipse community is planning on releasing 10 Major Eclipse projects simultaneously. For anyone moving forward with Eclipse based applications this year, and plan on staying up-to-date with the forthcoming stable release, you should be well aware of the Callisto Project!
Monday, April 10, 2006
Young Users ~= First User
I am currently spending part of my time teaching first year computer science at the University of Victoria, and some of my students are using Eclipse. I use it during lecture to show code examples, step through code, etc... I even supply the assignments as projects that can be directly imported into the workbench. Students are not required to use Eclipse, and sadly, most of them don't. We are currently running some studies to see what IDEs they use and why, but confusion is one reason that drives students away from Eclipse. Changing perspectives, an overly complicated debugger (for first year students) and *millions* of menu items are some of the reasons students were weary of our favorite development environment.
Because of this, some researchers I work with started to develop a simplified IDE built on Eclipse targeted directly at First Year Students (Gild). Features include, No Auto Complete (yes, I said No Auto Complete, would you give a calculator to a grade 1 when trying to teach them how to add?), a single perspective for everything (debugging, coding, etc...), a clear separation between Build and Run, simplified menus, and many more... The tool is still a research prototype, but hopefully it helps slowly introduce students to the wonderful world of Eclipse, without over complicating things.
Wednesday, March 22, 2006
Hello, World
I am a PhD student in B.C. Canada studying Information Visualization and Program Understanding. I am also interested in Model Driven Development and I am using these techniques to design and generate visualization for complex information spaces. I did a Master's and an Undergrad at the University of Waterloo in Ontario. I have also studied Reverse Engineering and I have an interest in language design and compiler construction.
I work with Eclipse pretty heavily. I run the GTK version of Eclipse on Debian and usually keep up with the latest milestone releases I hope to apply many of ideas to Eclipse. I currently have hacked or worked with the following Eclipse Technologies.
GEF/Draw2D, EMF, SWT, Workbench, Mylar, ATL, JDT, RCP, BIRT,
I have also used (but not extended or modified any code for)
VE, TPTP, WTP, GMF
I am also working on my own project called Zest. Zest is a set of information visualization components for Eclipse. Zest follows the same architecture as JFace and allows developers to quickly create graphical visualizations without any graphical code. Developers need only provide their content providers and we handle the rendering. This project is still very very beta, but we are getting there.
Other than that, I am really enjoying the West Coast! I enjoying camping, hiking, biking, running, and canoeing. I am teaching first year CS which is a treat. I really enjoy helping students understand complicated problems. While we may think that many of these things (trees, recursion, polymorphism, etc..) are easy, these students remind me of how so many people struggled with these concepts!
- Ian