Translate

Saturday, April 21, 2007

Javadocs, deep linking and quick reference

My Class Viewer project gives two key things with javadocs:

1. A handy way to keep up with all of them using an xml file, which I call packagedirectory.xml, where you can put in public javadocs as well as your own, and then, you can just forget about worrying where they are!

(Note the xml file can be edited easily in a text editor.)

2. Deep linking into javadocs to the method, where if you don't know the exact method you can do searches using a single char or as much of a string as you want with any piece you might think is in the method as I made the search as flexible as I could.

Understanding deep linking is just about seeing it done once, and you can see an example in my previous post, but the gist of it is that you get taken to your method in the javadocs, so no more scrolling down searching!

But these features have been available from my project for over three years now.

Ok, yeah, there was a long period with a minor bug where when a method had multiple arguments the URL would have an extra space in it, so you'd get taken to the top of the javadocs page---which is a gracious failure---but I finally fixed the code.

The problem still remains though with Microsoft's Internet Explorer, last time I checked, which is yet another good reason to get Firefox!

Oh and did I mention that once you put your javadocs location in packagedirectory.xml you need never worry about where your javadocs are again? Yes I did, but that is such a huge feature, and there are other solutions out there like javadoc online but there you do not get deep linking and what about your own projects and your own javadocs?

Why not let the computer keep up with all that detail, which you can do with Class Viewer?


James Harris

Saturday, April 14, 2007

Gateway to javadocs

I have been wondering if there might be a market for a custom Class Viewer for a software development company where Class Viewer is used as a gateway for that company's javadocs.

So, when first opened instead of the "No Warranty" message on the left and a blank window on the right it might have the primary packages for that company's code on the left and possibly news on the right.

To me it has always been a middleware app which bridges the gap from Sun Microsystem's excellent javadocs format to casual searching and quick reference.

And that was on purpose as when I was working as a Java developer for a major corporation, I would at times find myself wandering around through javadocs trying to get answers to highly specific questions, like, I'd be looking for a method in the String class that I knew took chars but I couldn't quite remember the name, which is why I use that as an example for my Class Viewer screenshot.

Covering all the bases Class Viewer returns ALL public methods that have the character string "char" in them:

char charAt(int)
boolean contains(CharSequence)
boolean contentEquals(CharSequence)
static String copyValueOf(char[],int,int)
static String copyValueOf(char[])
void getChars(int,int,char[],int)
String replace(CharSequence,CharSequence)
String replace(char,char)
CharSequence subSequence(int,int)
char[] toCharArray()
static String valueOf(char[])
static String valueOf(char)
static String valueOf(char[],int,int)


And, of course, that's not hard to do, but what else let's you do it?

I've actually been tempted to try and contact Sun Microsystems to see if they wouldn't put some custom Class Viewer up on their site versus only directly giving you javadocs when you go to the reference links, as I spent enough time years back wandering around on their site trying to find things, while now if, say, you want to know how to replace one char with another, you can search out "char" on Class Viewer like above, and just double-click on String replace(char,char) and Class Viewer will deep link you into the javadocs wherever you tell it, and right now mine gives me:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#replace(char,%20char)


And the ability to be taken directly to the method in javadocs is just a neat feature that is part of the Sun Microsystem underlying design, which should be exploited, as once you get used to it, it feels so tedious to scroll down looking for a method, and also like such a waste since the machinery is there for a more efficient process.

In any event, just kicking some ideas around, and I've just not felt confident enough about success to actually approach anyone, and like, what would I charge for custom work? But hey, it's open source so if that's a good idea, it's not like some other programmer couldn't do it, or companies just do it themselves.


James Harris

Sunday, March 25, 2007

Beyond the three year mark

As my Class Viewer project quietly moved beyond the three year mark I started wondering more about how I see things now, especially going forward, versus what I thought might happen over three years ago when I was eagerly applying for a project at SourceForge. And I realized that my perspectives now were a lot about how I see the Internet itself differently.

And that picture is still changing like the Internet itself, where mostly I find myself doing a wait-and-see.

Other project ideas are lurking in my mind but most of them have to do with finding content, like one project idea I posted here a while back having to do with trying to figure out a way to get a good directory of web links where a computer manages, hiring and firing people to find links and judge them.

But I can't get beyond just initial thinking because part of me sees it as kind of a strange problem. Today there is so much information out there, but I find it so hard to find what I think is the really good stuff.

And I still don't quite know why. I have my ideas but until the situation makes sense to me, I'm not going to invest a lot of time and effort that might be wasted.

Looking back on the multi-year efforts that created the little app that is doing whatever it's doing as I'm not sure, I am more impressed than I was then with how much effort, time and single-minded purposefulness it takes.

I think I helped add to the good content that is out there and it's a nice feeling. But I feel more and more like it's so hard to rise above the thicket that you have to worry about that as much as coming up with a good idea.

The signal to noise ratio of the Internet is just so high. So much effort is not about having a good idea, but just about being seen.


James Harris

Tuesday, February 20, 2007

Consider Satellite Radio

Big news today was about a proposed merger between the two main Satellite Radio providers who claim they need it to survive, and I just started thinking about their situation and wondered, why don't they have channels with advertising?

Simple idea, and it goes to a business model that works--cable television.

There are pay channels and there are channels that offer advertising.

Simple.

But these people think they are smart and believe that the benefit they offer customers is NO advertising, so they'd rather die than consider that the benefit they offer customers is the ability to get what they want anywhere.

If they offer channels that have ads they can have people listening who have basic subscriptions, who are using them because they can get a digital signal anywhere in the country (thinking about the US).

So yeah, why can't they just listen to the radio then?

Because hey, I've traveled across this country several times and you have to keep switching stations. Duh.

Millions of dollars at stake. The survival of companies and lots of people's jobs on the line and thinking in the box--following a business model that is currently working for the cable industry--doesn't occur to people you'd think would want to win.

But problem solving can be about obvious, when obvious is invisible to people who have not been trained how to think.

And in the real world, entire countries can die for stupid reasons because people were too "smart" to figure out simple solutions, so a couple of dinky companies?

Barely worth talking about, and believe me, at the rate they are going, they both will die---with the answer to their problems staring them in the face.


James Harris

Thursday, February 15, 2007

More on copy protection

I made a post a little while back about a simple way to do copy protection that has minimal impact on end users, but that was a long post that might be confusing, so I thought I'd do a short post that talks about it succinctly, with another aspect to the idea that occurred to me.

The idea is, when a person makes a copy say of a bought DVD, their copy is encrypted with a code generated by their personal machine, so that their machine can read the copy, but no other person's machine can--unless given a key which can be passed by a flash drive.

Additionally I realized that on their home network their personal machine can automatically pass the key so that they can read their own copies on their own network without using a flash drive.

So what's the point of the idea then?

Well, their own machine is encrypting--not the manufacturer of the DVD--so the end user can make as many copies as they want for personal use, but no one else can use those copies, without the key, but even with the key, the copies are carrying a lot of information about the person who made the copies and I think that with a two step process you would end a lot of casual copying, and when people know they are putting their own stamp on copies, you probably would shut down even more.

I like the idea as with it, I could make as many personal copies I want without worrying about dumb copy protection blocking me from copying DVD's I purchased, and wouldn't get bugged by people asking me to make them copies when they'd know that they'd need a flash drive as well, and there would be this digital fingerprint saying I made the copy.

It's a no-brainer good idea, but hey, I'm just some guy on a blog and there are people letting millions of dollars go out the door because they don't listen to people like me, so here is where it might stay.

But it just goes to show you, those people aren't as smart as they think they are.

And oh yeah, the idea is free. It's open source as in I am not asking for money for it. I'm just tossing it out there to the world because I know the world better than you do.

This idea may just sit here on my sites indefinitely because at the end of the day, people like throwing money away versus thinking outside the box--for real--versus claiming they do.


James Harris