RoboGeek
RoboGeek's (David Herron) Weblog: co-developer of Robot and several other things related to Java testing.

Thursday April 12, 2007
Testing bloged, and "offline" blog editors I'm trying out bloged to handle blog postings. A few days ago I posted a
rant about the experience of posting a blog entry through a web browser.
I'd found a blog posting written by someone that sent me on a train of
thought which took perhaps a half hour to craft into a blog posting. This
was edited in the login session in this blogs.sun.com blogging account.
Then I went to click SAVE to publish the posting, and was greeted by the
login screen telling me that my posting had been lost.
Whatever wonderful attrributes you can say about this web2.0 thing, one
attribute sucks big time. The usability experience of editing content in
a web browser session is awful. Often you're stuck with a TextArea and
having to write HTML by hand, or even worse it's some simplified markup
language that's different for each different content management system.
Didn't computer users go through this struggle in the 1980's to
transition from editors that use a markup language, to WYSIWYG editors?
I've been publishing web
sites for over 10 years
and have used a variety of technologies to do it. In 1995 when I started vi
and emacs were common, and WYSIWYG website editors were rare. But
I did manage to use NaviPress for awhile and was hooked on the user
experience improvement over handcrafted HTML (bleck).
But, in time, I found content management systems. I could write entries
from "anywhere". I didn't have to run specialized software. It took care
of creating navigational structures for the site.
This newfangled web2.0 world is full of sites where users create the
content while using a browser session. There are a whole slew of
usability problems, one of which is the scenario recounted above (user
session timeout). Theoretically the advantage of a desktop application
is the more mature GUI toolkit and user interaction experience. Some
have done amazing things using Javascript, but even after 12+ years of
development the HTML form elements and Javascript GUI elements do not
have the maturity of decent desktop GUI toolkits.
So here I am trying out bloged.
The user experience is a heck of a lot better than previous times I've
used it. But it has several annoying issues. I suppose since it's an
open source project I could download the code and start fixing issues.
hmmm....
UPDATE: I just clicked the publish button. It looks pretty much like the
WYSIAWYG view that bloged provides. Curiously there's some text at the
end giving me a template for a new posting (e.g. "title goes here" ..
"body goes here" ..etc). Another one of the annoying issues, I guess.
(2007-04-12 10:44:40.0)
Permalink

Tuesday October 17, 2006
Re: Vista flexes its power
Vista flexes its power is about a supposedly new feature with Vista that allows companies to save energy. namely: "With Windows Vista, Microsoft plans to put machines to sleep after an hour of inactivity"
Excuse me while I yawn. Mac's have had robust ability to go to sleep for a looooong time. And, for that matter, Windows has had a similar ability (through ACPI hardware in the computers) but in my experience the standby or hibernate modes have not been reliable.
It's wonderful to hear a computer company talk about enabling computers to use less power. It is painful considering the power wasted by desktop computers staying turned on all night long. Those computers, when left turned on all the time, are directly tied to poisons being introduced into the environment because most methods humanity has developed for generating electricity involves poisons or other ecological damage. Hence it is a good idea for humanity to figure out how to minimize the damage introduced by the gizmos we use around us.
But back to the article -- while the beginning of the article sounds like a clueless reporter mouthing hype from Microsoft it does go on to some specifics. Such as fixing several issues around the machine actually going to sleep when the user thought they put it to sleep. Another issue mentioned is corporations requiring a desktop PC being left awake so that patches etc can be installed, and their fix is a way to remotely wake a computer.
(2006-10-17 09:08:04.0)
Permalink

Saturday February 18, 2006
Installing Java 5 on Ubuntu Linux Last fall I installed Java 5 on Ubuntu Linux -- and it seems to work "fine" even though it's not one of our officially supported platforms. Note: I haven't fully tested it, so can't gaurantee it's completely compatible with Ubuntu (even though we do test on other Linux's, we don't test on Ubuntu, and there may be incompatible Linux differences that interfere with Java compatibility).
I wrote about my experience in a previous blog entry. But, really, it was as simple as following the instructions on the ubuntu wiki. Which didn't seem to help this guy and his quest for Java on Ubuntu. So I'm posting again, another link to the Ubuntu wiki instructions on installing Java on that system.
Unfortunately those instructions don't work for installing Java 6 on Ubuntu (I tried).
(2006-02-18 13:17:10.0)
Permalink

Tuesday January 10, 2006
Re: iTunes for Linux
Here's an interesting question, When Will Apple Notice Linux? and more directly, when will Apple port iTunes to Linux? One possible answer seems identical to an answer I gave yesterday to a slightly different question on another of my blogs. In that case, the questioner asked why Sun doesn't port Java to FreeBSD and only to Linux/Solaris/Windows? Even as a Sun employee working in the Java group, I don't know the details about why we don't port Java to FreeBSD. But I see a similar pattern in the iTunes-for-Linux article as in the Java-for-FreeBSD article. Specifically both articles ascribe all sorts of conspiratorial scheming upon the big bad corporation.
Like I said yesterday about Java on FreeBSD, it could be very simple. It costs money/resources for a software vendor to support their product on a different platform. These things don't come for free. The business needs to see a justification for that expense.
Where does the expense come in? Well, there's the developers who port the software. They need to understand how to best use the OS/platform, and in the case of iTunes-for-Linux they would have to make a GUI toolkit for X11. Oh, and Linux is not at all a simple platform for which to develop software, because there is not just one Linux. There's a dozen or more Linux distributions, with different installer systems, system config file details, driver details, etc. And there's testing, where each new platform means a greatly amplified testing cost. Here again the multiple Linux distributions greatly amplify the testing cost.
If you understand Occam's Razor you know that often the simplest explanation is the best.
Maybe it's just about the money!! That it would cost some amount to do the job, and they don't see enough return on the investment. ROI is the acronym used by business leaders worldwide.
In the iTunes-for-Linux article his attitude seems best summed up by "we can all forget about Microsoft doing anything to help Linux". That he's looking to these large companies to do something to help Linux.
Gimme a break!!
My experience with corporations from having a nearly 16 year career working for them is they are motivated by money, not altruism. If they see an ROI then they'll do something. If not, they won't. How else would you explain the existance of Microsoft Office on Linux? It's not altruism, it's money, with Office bringing in over a billion dollars of revenue from OS X users. In the 1980's I was an Amiga fan, and remember in comp.sys.amiga a bunch of angst over the lack of acceptance for the Amiga, and if only we had some major applications on the platform, and someone kept repeating how Microsoft had told them "if there were a million Amiga users we'd consider porting something to AmigaDOS". That is, again, an example of businesses thinking about ROI, as well as being an interesting echo of what's being said about Linux in the iTunes-for-Linux article.
And, as a Sun employee, I'm rather confused by this: "...I am saying that without the backing or support of the major software companies Linux on the desktop will never reach anything..." and then suggesting Apple as the savior for Linux. Uhm...
Sun is a major software company and Sun provides some very interesting and important software packages for Linux. Where would Linux on the desktop be today if Open Office did not exist??? And there's Java, and all the applications that use Java, which are available on Linux because Sun supports Linux.
(2006-01-10 08:54:51.0)
Permalink

Saturday December 31, 2005
Installing Java on Ubuntu, and why Linux? In earlier postings on this weblog I'd described having installed Java 1.5 on Ubuntu 5.10. There's a page in the Ubuntu wiki site that describes what to do, and I merely followed the instructions there. I noticed a posting earlier today by TripLeM about his Java 1.5 installation on Ubuntu 5.10. What he did is exactly what I did and is more-or-less what's on the Ubuntu wiki site.
FWIW, a couple weeks ago I tried the same method to install the current Mustang build. It failed in the make-jpkg step. I gather that between "fakeroot" and "make-jpkg" the JDK installer is being run, but in a way that makes it think it's being run as "root". As "root" the install script tries to touch some files in /etc which it can't do because it isn't really root, and we wouldn't want it to touch those files anyway. I'm wanting to see if something can be done so Mustang can be installed on Ubuntu. Ubuntu/Debian is not a supported platform for Java, but it would still be cool if there were a simple way to get it installed there.
I noticed that "ebernie" had followed up to TripLeM's posting, and had asked "Is there a need to move to Linux". Well, Bernie, I can only give you my answer, but I'll also note that my home computer runs Mac OS X. I have Linux/Ubuntu for my work laptop, and OS X for my home laptop, and nary a Windows machine in sight. Why? Basically because of viruses, instability, fragility, nit-picky little incompatibilities between hardware and software, having to waste so much time learning how to configure BIOS settings, etc...
You might think "Oh, he works for Sun, and he's been smoking what Scott's been feeding him". Actually, for me it's the other way around. I joined Sun (and the Java team) because, at the time, it was the home headquarters of the anything-but-Microsoft camp. My dislike of Windows stems from what I said above, and predates working for Sun.
I've owned several Windows computers, am relatively comfortable using Windows. Heck, I have even studied the Windows source code (in a former job I was porting bits of Windows source into the MainWin product). But what really soured me of Windows was realizing how much of my life was being wasted chasing stupid little inconsistencies in the hardware/software configuration of the computer. I was spending more time keeping my computers stable than getting any work done. There was something wrong with that picture, and the thing that was wrong is spelled W-I-N-D-O-W-S.
Since switching to this Mac laptop, I've been a zillion times more productive. The Mac is so completely reliable and has taken zero fiddling because it just works. I've learned (as a relative Mac newbie) that "It just works" is the Apple mantra. Call me a satisfied customer.
But that doesn't answer if/why one should switch to Linux. Actually I have not settled that question myself. For my needs at work Linux is the fallback choice. First, I work mobile often enough to need a laptop. Second, Sun won't buy me a Mac laptop. Third, even if they did, my job requirements include Solaris, Windows and/or Linux, and we have no need for Mac use in my department. Fourth, I'm not going to run Windows on the work laptop if I can avoid it, so that leaves either Solaris/x86 or Linux. Ubuntu Linux is my current experiment, but if I may switch to Solaris or some other Linux distribution.
Actually I have a somewhat hard time recommending Linux. The problem is largely that the same stupid little inconsistencies that drove me nuts with Windows also exist for Linux. I think it's partly because of the x86 hardware environment, that the bits and pieces come from so many different vendors and there isn't enough compatibility. It seems every time you turn around, there's another driver or something to locate and install, which to me just seems to be a total waste. And this is true regardless of it being Windows or Linux.
But with Linux there's another twist. All the distributions are nigglingly different. So when you go looking for advice on how to configure X or Y or Z or whatnot, you'll find a HOWTO or two or three, but none of them will be for the distribution you have. Instead the HOWTO will be talking about files not present on your system, or configuration tools you don't have, or maybe you do have them but something is different about the way it's handled on your system, etc. Which just leaves me frustrated to no end.
And it's not like I'm a newbie to Linux. The first Linux system I installed was in 1993 (downloaded 20+ slackware floppies, and installed them on a laptop, etc). In those early days there was a consistency that doesn't exist today.
(2005-12-31 22:22:56.0)
Permalink

Tuesday August 30, 2005
Pure Java podcasting
I saw an announcement of the JavaCast, a podcast covering Java technology, and along with the announcement I saw mentioned jPodder. Hmm... a java related podcast and a pure Java podcast software application. How interesting, so let's take a look.
First
let's look at JavaCast. I've only listened to 5 minutes of one of
their podcasts, but it's interesting and I'll come back for more.
The format is two guys, Brandon Werner and Dick Wall talking as geeks
talking to geeks about the Java market and software. Apparently
they've only been at this since July 2005 (that's all the archive
shows), and it appears they've made a good start.
Next,
jPodder. Seeing that I'm using a sunray terminal I didn't have
much hope that jPodder would actually work. It's featureset
supports both downloading and recording podcasts. Yup, that's
right, it helps you record podcasts, so you can use this software to
produce your own if you like.
The download is simple enough, and
the installation works pretty well. The software isn't yet v1 so
there's a few rough edges. It uses a non-standard L&F which
looks pretty nice. It easily downloaded the files from the
JavaCast podcast, even though I didn't configure in any proxy
setup. That's nice that it figured out the proxying without my
having to tell it. However I got a little confused as to why it
wouldn't play the audio. Hunting around I finally found the settings
section and that there were no plugins for playing files. Maybe
it plays files okay on other platforms than this sunray I'm on.
That
led me on a little hunt for something that would play the MP3 file
which was downloaded from the JavaCast. Fortunately I
remembered jlGui and it's working fine on the sunray.
(2005-08-30 15:39:10.0)
Permalink

Thursday August 25, 2005
The value of having XML built into the language A few days ago a javalobby thread asked if Java should go on a
diet. One of the culprits for their perceived bloat was the
inclusion of XML libraries in the Java platform.
I'm not going to try and defend the inclusion of every one of the features in Java.
But let me share something .... I'm in the middle of writing a perl
script to scan a directory structure and print out some data. I
want to format the data in XML because it's so easy to manipulate XML
later. I want to do it properly ... build a DOM tree, then
serialize it, so that I don't have to worry about encoding issues if I
were to hand-build the XML.
But, the perl installation available to me doesn't have XML built
in. To get XML::DOM to work I need to install several other
packages. Since I don't have write access to the perl
installation (I'm not the super user in this case) I have to install
outside the normal CPAN ritual, which meant stumbling through the
perldocs to find the one paragraph that described how to install a perl
module in the nondefault location.
You know what? This rigamarole is ridiculous!!! XML is such
a core part of the modern computing environment. For XML to be
excluded from the core of any language today is ridiculous!!!
Why a perl script? Java could do the whole thing right off the
bat ... you set up the BuilderFactory etc, make a Document object,
start filling it in, etc, it's all trivial and you don't have to worry
about any encoding issues. Unfortunately I want to record the
file ownership and Java doesn't currently give you access to the file
ownership, whereas perl does.
(2005-08-25 14:58:56.0)
Permalink

Friday July 29, 2005
Recording movies in Java (Java Media Framework) A long time ago I looked over the JMF featureset and thought, "!!!HOW
COOL!!!". The JMF include enough parts so that, if my mind put it
together right, you can record audio, stream audio over the network,
record video, stream video over the network, participate in the video
conferencing protocol (whose name I cannot remember, but is used by
GnomeMeeting and other software), modify audio and video, and more.
Unfortunately it seems JMF doesn't get much visibility. I suppose
that's partly because it's an optional package, meaning it's a separate
download and install. Hence, a developer can't assume their
customers have it installed.
Anyway ... here's an article introducing JMF use:
Record Movies with Java Media Framework (JMF)
Part 1:
Introduction to JMF
(2005-07-29 15:17:00.0)
Permalink
Awk-alike programming for Java This seems like a good hint, so I'd like to give it a little more visibility.
Java AWK - parsing csv-files in Java can be fun
The idea Marcus presents is that the REGEX support in Java improved
greatly way back in 1.4, and it's now possible to do high quality text
processing in Java. His example is playing with CSV (or I suppose
tab-separated) text files in a manner akin to what you do in a shell
script.
I'll note in passing that there are several toolkits for dealing with
CSV files in Java. Plus the HSQLDB database package can
read/write a CSV file directly as if it were a database. But
neither is the point of Marcus's blog entry, which is to point out that
REGEX in Java is pretty good.
(2005-07-29 15:05:31.0)
Permalink

Monday July 25, 2005
Making UI's nice by tweaking L&F
Earlier I'd posted about the Tiny LAF
and then in the midst of posting got lost on a tangential train of
thought about the visual presentation of information, and whether the
L&F improves that visual presentation or degrades it.
I see a similar train of thought in Roman Guy's posting: About Plastic Look and Feel
He goes through improving a simple (and supposedly ugly) Swing app, by
switching to the Plastic L&F and then tweaking a few parameters.
Now, really, ugly is in the eye of the beholder, isn't it? Or is
it only beauty that's in the eye of the beholder? Is there some
concrete measurement you can make to say something is ugly?
But, getting to Roman's exercise. What I see as the essential
changes were to remove some of the border effects, which in the visual
presentation removed some lines, and as a result also depended on
mouseover behavior to indicate where the buttons and other GUI
components are.
In a way that validates the point I tried to make in my earlier
tangents. Namely ... it seems to me the more lines that are drawn
to indicate a GUI component, the more cluttered is the screen.
But by providing mouseover interactions, and at the same time providing
the button icon/imagry (without the button border) you're able to
convey where the buttons are, without also intruding button borders
into the GUI.
A couple of the commenters in Roman's blog said they preferred the
first one over the Plastic L&F. Specifically someone said
they didn't like having to mouseover to determine which are buttons and
which are just imagry. Clearly to some people those lines that
make up the button border have a role to play, while for others they
are clutter.
I think an interesting point here is that Swing offers the ability to
customize the L&F in its core competency. To the people who
diss Swing for being "ugly", and not native-like, I wonder why they
don't feel constrained when the native GUI toolkit forces you to a
given L&F?
I know, that kind of freedom is a mixed bag ... I remember evaluating
GUI toolkits back in 1992 when Motif and Win3.1 were the kings, but my
team needed a cross platform GUI toolkit, and we came across Neuron
Data who supplied one, and they did what seemed at the time an
outrageous thing. They could switch L&F dynamically at
runtime. At the time I didn't like this -- falling into the
mainstream logic that the end users (Aunt Millie and the like) would be
confused with applications on their screen that appeared different than
the other applications.
Well, back then that seemed like a valid argument. Today the
platform vendors can't seem to decide for certain what their native
L&F is supposed to look like. e.g. on Mac OS X it started out
with this striped theme, that shifted to a theme that looked like
lickably sweet gumdrops, and now we've got this weird miglosh of the
lickably sweet gumdrops and this brushed metal look that was supposed
to only be for multimedia app's, but has now been applied to Finder and
Safari. And don't get me started about Windows and their strange
attempts to make the desktop into a web page.
I think in todays environment the end users, even the Aunt Millie's,
are accustomed to a variety of L&F's appearing on the same
desktop. I think that so long as the app designers are reasonable
in terms of making buttons appear/behave as buttons, menus
appear/behave as menus, etc, and that they don't do completely
outrageous things, that they can get away with rendering the GUI
components in different ways and most people will be okay.
(2005-07-25 16:11:54.0)
Permalink

Friday July 22, 2005
Tiny LAF
Just want to provide a little visibility to Tiny LAF
This is a Swing L&F that's strikingly familiar to a certain desktop
OS, but the L&F runs across platform anywhere that JDK 1.4+ exists.
Looking at the screenshots I was reminded by an old idea. A long time ago I read the book The Visual Display of Quantitative Information, and it was a very transformative experience. The book talks about effective display of information using visual means.
What I remember taking from it is how it danced around two
points. The first is the data you're presenting and the form you
present the data. The second is the packaging of that visual
presentation.
For example you could make a simple table of numbers with lines
delineating the columns and rows. The lines are the packaging,
while the numbers are the data. But the eye might get lost with
the lines, so it might be more effective to instead use shading of the
background of table cells to help you follow the rows more effectively.
Or you might realize that numbers are a poor way to present that dataset, and a graph is much better.
In any case I've always connected this with GUI toolkit design.
When you write a GUI application you're visually presenting some
data. My curiousity is, when does the GUI toolkit interfere with
seeing the data?
Look at a typical GUI component. It's built on-screen with some
lines and shading and whatnot that's remniscient of a real-world
object. The metaphors have a long history beginning with Apple
and XeroxPARC. Nowadays the metaphors include mouseover behavior
and feedback through interactivity. I think it's very possible
for the designer of a GUI Toolkit L&F to get lost in the artistry
and forget the ultimate purpose of a GUI toolkit - which is, to assist
an application designer in effectively presenting their data.
For example - there's a fad of using gradients in the background ....
does the gradient help? Or interfere? Likewise the brushed
metal look popularized on OS X. Comparing the two in my mind, the
Apple applications that used this brushed metal look still have a clear
presentation of the application data ... even though the brushed metal
effect is pure glitz.
Hmmm.... too much to think about for now.
(2005-07-22 14:02:44.0)
Permalink
Interesting science related web site - Powers of 10 as a web site
Powers of 10 as a web site:
refers to a science related web site that uses Java applets to
demonstrate several concepts in Science. It, of course, along the
way, demonstrates the usefulness of Java applets.
Powers of 10 is a science movie I remember seeing in the 1960's or
70's when I was a young lad. It really wow'd me, and I recently
saw it again at a museum in Chicago and it really struck me how it
seamlessly showed both the macrouniverse and microuniverse.
They also have: Virtual Scanning Electron Microscopy and several other microscopy exhibits
(2005-07-22 13:04:00.0)
Permalink

Tuesday July 05, 2005
Re: JavaOne 2005 Desktop Rehash Chet Haase wrote JavaOne 2005 Desktop Rehash
going over what he saw/learned/etc from the Desktop Track at Java ONE
last week. Seeing as his office is around the corner from mine, I
thought I'd give him a little additional visibility.
It's good to see the focus on the desktop Java GUI, and the very positive response I saw in every session was heartening.
(2005-07-05 12:07:39.0)
Permalink

Sunday July 03, 2005
Java history snippets At Java ONE there were tape clips playing full time in the foyer
area. The clips were of Sun insiders (some former insiders) who'd
been involved with getting Java out the door, reminiscing on the
process.
You can view them online here: http://www.pedersen.com/javahistory/video.html
(2005-07-03 19:34:28.0)
Permalink

Friday July 01, 2005
Jonathan distorted definition of 'free'? It seems that whenever Jonathan speaks, there's a platoon of people
ready to pounce on his words. Well, okay, I've done a bit of that
myself, because some of what he says sounds a little strange.
But, in the case in front of me, they seem to have gone too far.
Sun 'distorts' definition of free software (Ingrid Marson in San Francisco, ZDNet UK, July 01, 2005, 12:05 BST) with a related slashdot thread.
Here's how Ingrid Marson quotes him:
"I want to talk about FOSS — free and open source software. Now just to
relay my bias, if you had to ask me what's the most important initial
in free and open source software, to me, if you want to reach the
broadest marketplace in the world there's one price that works for
everyone, and that's free… and so the free part is what we've been
focused on," said Schwartz.
The article goes on to quote open source luminaries (e.g. Richard
Stallman) as to how Jonathan doesn't "get" what the word "free" means
in this context, and then goes on to slam Sun over this.
Yes, the meaning of 'free' the open source movement wishes to use is
'freedom' and 'freedom' is rarely costing $0. On the other hand,
Jonathan is clearly saying the meaning of "free" that's in his opinion
important is $0 cost. So it's not terribly fair to dis Jonathan
for clearly stating his opinion, is it?
It appears to me the distortion is as much from the author of the
article, and the sources she quotes, as in what Jonathan said.
Jonathan has been following this line of reasoning in public for quite
awhile - such as dissing Red Hat for charging a $2000+ fee for what's
supposed to be "free" software. The software in question, Red Hat
Enterprise Linux, costs quite a bit to get from Red Hat because it's
really a support fee, it's still "freedomized" software because you can
get pretty much exactly the same thing as "White Box Enterprise Linux"
(built by taking RHEL, filing off the serial numbers, and recompiling).
Why do I say the author and her sources are distorting just as much as
Jonathan? Why, simply because of how they're taking the statement
and applying it to the unrelated point of whether Java should be Open
Source or not. The articles sources obviously have an axe to
grind on that subject, which they've been doing for several years.
Sun has clearly stated over and over that we've studied the issue of
making Java Open Source, and we've studied it at length. The
"compatibility" issue is the key argument we've put forth. That -
say Java were to be open sourced under a license that meets the
official definition - that means others can fork Java, and once Java is
forked then compatibility goes out the window.
What we've done is tweak the licenses several times until at this point
Java is available under a very liberal license, which gives a lot of
freedoms. See
https://mustang.dev.java.net/ for more details.
I'm sorry if some in the Open Source community aren't happy with those
freedoms. The fact is that the owner of a project gets to choose
the license under which it is published. That goes true for all
the projects at
http://www.gnu.org/ just as it does with Java.
(2005-07-01 17:36:10.0)
Permalink