Wednesday Mar 16, 2005

4JL - The Next Genaration Java Language

Java has already become the programming language of choice for Mobile Developers, Enterprise Developers, Research Scientist. However one area that Java still hasn't made significant traction is in the Office Space (remember the movie?).

The so called Power Users who typically creates reports, creates prototypes and small applications for their departmental usage. These users are not GUI designers, they don't fully understand the theories of computer science but these people are more creative. (If you don't know the limitation of physics, only then you can dream to go faster than light.)

What this people really need is SQL-like language that many people call 4GL - Fourth Generation Language since it is like an interpreter for the third abstraction of program ( Assembly code, Pnemonics, C/C++/Java Language)

What we need is something similar for Java? Let's call it 4JL (Fourth Generation Java Language). What will be the features of such a 4JL? Here are my thought on it.

\* It will have only very limited functionality but will include Queries (SQL), Basic Flow Control and Rapid Dynamic GUI Generation on the fly. (Like when you select something the output is OpenOffice Spreadsheet so the power user can then work their "Spreadsheet" magic on top of it.

\* It will cater to only 80% of these developers. 20% of the remaining developers can use Java for more flexibility.

\* For Data Entry for updates it will dynamically create screens which adjusts to the local "skin" of the OS. (Thanks J2SE 5.0 for this wonderful feature.)

\* A Functional Application can be generated within 15-20 minutes by any "developer" who can define what she wants to store and where.

Does it sound interesting?

Thursday Sep 16, 2004

Java Device Drivers API

One of growing pains for IHVs- Independent Hardware Vendors and end-consumer (difference between customers and consumers is a topic for a different blog) is device drivers supporting all operating systems. How many times I had to drop my beta OSes on my "bleeding edge" beta PC at home just because I did not have the right device drivers.

I think the time is ripe for a JSR for Java Device Drivers API which will enable developers to write their device drivers once on Java and get it supported on all platforms that supports Java. J2SE is always thought to be the heavy-weight for device drivers and hence J2ME is the right platform to be used for all device drivers since that will enable them to support not only PC, Servers, but also Cellphones, PDAs, etc.

So the question arises, is it really feasible? I think it is... The best proof is USB Specification which makes it easier to support multiple devices through USB by following the USB spec. Similarly once we have a Java Device Driver API, things will be lot easier to make them work not only on Windows, Linux, Solaris but also on J2ME supported Cell Phones, PDAs, etc.

Once again JCP is the right way to bring about this change. (If you are not a member yet, join now .)

Anyone who wants to be the Spec Lead for a "Java Device Driver API Specification JSR" ?

Thursday Sep 02, 2004

Desktop Java: What it needs - "Java Application Objects" in Swing/JFC

Rich Clients are coming back. JFC/Swing is slowly but steadily gaining acceptance both due to improvement in performance (J2SE 1.4.2) and with its new looks ( J2SE 5.0). However what can be done to really stir up more mindshare?

I was looking at Konfabulator. They make small widgets for Apple's Mac OS X. I think they have a point. If the Java Community can get more and more small applications objects available in the base JRE , which can be embedded into applications then developers will have less to worry about re-inventing the wheel. The Java Desktop Community is on the right track to bring about this improvement for Java Developers with its JDIC project . But I still think the focus at the same time should also be on these freely available "almost necessary" application objects like Calendar Popups to select date,Clock, Calculator, reminder notes, streaming video displays, audio players, etc.

Ofcourse, JCP is the right way to bring about this change. (If you are not a member yet, join now .)

Anyone who wants to be the Spec Lead for a "Java Application Object Specification JSR" ?


Jignesh Shah is Principal Software Engineer in Application Integration Engineering, Oracle Corporation. AIE enables integration of ISV products including Oracle with Unified Storage Systems. You can also follow me on my blog


« April 2014