Archive for May, 2007

Grey Line

Something new is cooking in the Google software pot. It’s called Google Gears, which is a new way to create offline Web applications.

Google Gears (BETA) is an open source browser extension that enables web applications to provide offline functionality using following JavaScript APIs: store and serve application resources locally, store data locally in a fully-searchable relational database, run asynchronous Javascript to improve application responsiveness”

They made this announcement today during Google Developers Day in Sydney, Australia.

One of the major features of upcoming Adobe Apollo is support disconnected Web applications, and Adobe’s Kevin Lynch announced that Google Gears will be available in Apollo. Adobe Flex applications already use the space on the client’s disk for storing instances of any objects (this is called local SharedObjects), and turning this disk space into a fully searchable RDBMS sounds pretty exciting to me.

Last year Sun Microsystems have included a client database Java DB in Java 6, which would be more useful if Java offered a competitive Web client VM. This situation won’t change for at least a year (we are expecting a small footprint Consumer JRE next year).

Sun, please make a step toward Adobe. Put aside this JavaFX efforts, it’s a little too late. Create a Java-to-bytecode compiler to be played by Flash Player – call David Temkin from Laszlo Systems, he’ll tell you how to do this. No wonder that Google is where it is, and what Sun has on the desktop? As noted writer Isaac Babel wrote many years ago – it has “spectacles on his nose and autumn in his heart”.

Comments

 

Grey Line

An Eclipse plugin version of Web reporter ClearBI (a.k.a. FlexBI) is available for public Beta testing. ClearBI is a business intelligence engine that allows software developers automate report generation process, and end users can customize reports (grouping, filtering, export to Microsoft Excel et al.) in Flash Player.

Other than Flash Player, ClearBI does not require any additional software install on the client side. At the time of this writing, ClearBI is the only professional reporting solution on the market of rich Internet applications developed using Adobe Flex and Java.
ClearBI is available in two versions: ClearBI Plugin and ClearBI End-User:

• ClearBI Plugin allows a software developer create and customize a new report in Eclipse IDE. This report can be integrated into any Flex application by including an extra MXML and recompiling the main application. The end users will be able to work with the report (sorting, filtering, grouping, export to Microsoft Excel, et al.), but won’t be able to save this customized report.

• ClearBI End-User has all the functionality of the plugin version, and it also allows the end users create reports from the universe of the data fields without need to install any software other than Flash Player. The end users can create, customize and save reports in the centralized database server without any help from the IT department.

You can download the beta version of ClearBI plugin at www.myflex.org. Create an account and request the trial license for ClearBI. Download the ClearBI User Guide that contains installation instructions. We are actively working on the User Guide and will upload the newer version of this doc every other day.

ClearBI plugin comes with Clear Data Builder (a.k.a. DaoFlex), and you’ll need to download its User Guide as well.

Please send all the comments or bug reports at info at faratasystems.com .We really appreciate your input.

Thank you,
Yakov Fain

Comments

 

Grey Line

Up till now, most of the time we’ve been teaching Adobe Flex by invitations from our corporate clients. But since the Flex market really picks up in New York, we decided to run public classes as well to accommodate the needs of smaller businesses that just want to train one or two developers.

Since the blogging genre allows some room for a self promo, here it is.

Our instructors are not those fly by night trainers that would teach you by reading aloud someone’s manual in the classroom. We spend most of our time working on the real-world projects that include Adobe Flex, Java, and a plethora of other technologies. We can offer you Adobe Certified Flex training, where we use original Adobe courseware and labs enriched with live discussions of the real-world issues that developers face daily. Last week, I’ve been teaching a class to a large group of Java developers of a Fortune 100 firm, and in addition to covering the training materials – I’ve spent at least two hours discussing the proper ways of designing their first Java/Flex projects.

We are the ones who write books, and articles. Besides being experts and published authors, our instructors speak at conferences, teach seminars and have been taught programming at such prestigious schools as New York University and Columbia University.

We offer several ways to get you trained in development of the rich Internet applications with Adobe Flex:

1. A typical week of training at your site consists of two Adobe Certified courses:

Flex2: Developing Rich Client Applications (3days) and Flex2: Data Communications (2 Days).
2. Customized Flex training as per your firm’s request. In addition to Flex we can teach a Java class as well.
3. Mixed public training on weekends. In two consecutive weekends (4 days) we’ll deliver Adobe certified class Flex2: Developing Rich Client Applications and one day of custom training discussing the proper ways of starting your Flex/Java project. The next public training will take place in New York City on July 21, 22, 28 and 29 of 2007. Tuition for this course is $1495 USD.
4. One day hands-on Flex boot camps for developers around the USA, and the closest one is scheduled in New York on June 24, 2007.

5. One hour lunch-and-learn on-site session (New York and New Jersey) giving an overview of what’s happening in the rich Internet application arena in general, and how to properly utilize Adobe Flex as a front end to your robust server side application written in other languages.

Please give us a call about all your training needs or fill out the contact form.

Yakov Fain

Comments

 

Grey Line

After at least 10 years of daily trips to Starbucks for my daily fix I am finally off. It happened gradually over the last three months after they installed one of those fancy Italian automatic espresso machines in the office. It started as just convenience to provide the same or better espresso. Well, coffee came out way better, especially when our perfectionists got into raw materials like fresh/freshly roasted coffee and few experiments of their own. Suddenly, Starbucks coffee is not much different from .70$ one from a  newsstand at the corner. Over the years we tried everything – single-serving machines, hot sand plates for Turkish coffee, manually operated espresso, presses – you name it. All previous methods sacrificed either on quality of the results or manual labor and failed to please everybody’s taste. Routine job can be done automatically.

Over the last half year I started handful of projects in Flex for our clients. They came for a taste of Flex development and see how it will fit their application domain. After a day or two of “prototyping” with pure Flex controls and methodology I would find myself facing the wall of code I had to write to make clients specs “alive”. At that point TIME AFTER TIME I took our home-made libraries and plug-ins to break that wall. I was really surprised to see how automated tools and components were able to adopt themselves across very different domains.

Here is the list of the tools I believe no Flex project can survive without – they are not a part of standard Flex: Controls – TreeGrid, MaskedInputs, EnhancedButtons(all radio/checkbox/tabs go there), DataCollection (maintaining state), UIResources,

Data entry – DataForm – merge-in of DataGrid concept with Form container – do not start your Flex project without one. Proxy/deployment generator for your host environment – I use Clear Data Builder as it has extensible set of code generators for all common tasks. Reporting – both plug-ins that allow to build reports and end-user wizards to provide layout, grouping, filtering and sorting. Also, for the productive automated environment you need these plug-ins – Ant script generator, documenter, logger (if you use “trace” statement you need one).

Back to the coffee machines. After doing the math it seems that automatic coffee machine is less expensive (including operational costs) then cheaper manual ones. I got one at home now, and hopefully, will be able to blog more from now on.

Sincerely, Anatole

Š

Comments

 

Grey Line

A couple of years ago when my son asked me about the book on programming for kids, I could not find one, and have written my own e-book called Java Programming for Kids, Parents and Grandparents. For some reason computer books targeting teenagers are very rare. There are reader-rabbit kind books for very little kids, but 10-16 years old people do not have much of a technical literature, and 17-18 years old are studying computers using boring adult technical books (the Head First series is a lucky exception).

By the time kids are out of school, they know from their own bad experience that computer science is not an exciting career, which eventually will lead to a “death” of such profession here in the USA.

Adults do not want to admit that kids are smarter than them. They keep saying something like, “My son is not too good at math – he can’t be a programmer”. But most of the programming tasks require only minimal knowledge of arithmetic and algebra skills. To start programming, a kid needs to understand what x = y+2 means. Another important concept is an if-statement. This is pretty much it.

Kids learn much faster than adults, and they do not have “previous programming experience”, which may actually be a good thing, because they do not have to switch from a procedural to object-oriented way of thinking. After learning about inheritance in Java, my son called my wife a super class.

Some people recommend using simple languages to teach people programming – I disagree. Java can be a good first programming language, but you should do it right. That’s why I’ve included lots of color cartoon-like characters that act like a Java-fabric softener.

This e-book was never printed. I’ve got some offers to publish it in black and white because it’s cheaper. I rejected these offers – this book has to be printed in color.

This book was written about three years ago, but it’s about core Java, which did not change that much. I’ve been using Eclipse IDE in the book, but IDE does not really matter – use NetBeans or whatever else you have handy.

You can download the book at this URL. I hope you’ll enjoy the reading and will introduce your kids to an exciting world of programming.

Yakov Fain

Comments (2)

 

Grey Line

I have two news: a good one and a good one. 1. I’m a candidate for featuring at Adobe’s Developers Spotlight pending on the number of votes I get. 2.  It’s great that this is not presidential elections, because as per the voting machine on that blog 10+3=17, and even if you try to vote it does not change anything. I’m sure though, it’ll be fixed sooner or later.Anyway, thank you Adobe for even considering an old Java dog.

I’ve written the Flex article I’ve been nominated for with my colleagues at Farata Systems – Victor and Anatole. We do work on some cool components and plugins for Flex, and many of them were written in Java (surprise, surprise).

If you are interested in my other Java/Flex/Anything articles, you can find them at Java Developer’s Journal.  And of course, I’m proud of our recent baby, the book called RIA development with Adobe Flex and Java.

Regards,
Yakov Fain

Comments (3)

 

Grey Line

Next year, Silverlight’s DLR should be able to run programs written in several languages and Smalltalk was not one of them. Today I ran into a very interesting post by a guy who is writing a Smalltalk compiler for DLR and is thinking about porting it to Flash. It’s a great idea. Flash Player 9 is a fast VM that applies JIT compiler to the byte code produced by Flex or ActionScript 3.0 compilers (does Laszlo generates the code for Flash Player 9 yet?). If someone will offer compilers from other languages that can generate the same byte code, Flash Player will be happy to play it for you. I’m not saying that you’d want to create GUI components with Smalltalk, but having an opportunity to link libraries written in other languages to your Flash application sound very useful and logical to me.
Adobe has no choice but to lead such efforts, if they want to successfully compete with Silverlight 1.1 DLR. So I won’t be surprised to hear such announcements during the next MAX conference.

Disclaimer: these are just my speculations, and I do not have have any insiders’ information that there is something in the works at Adobe.

Yakov Fain

Comments (1)

 

Grey Line

This news did not get the fanfare, but it’s a real gem of JavaOne 2007. It was presented by Danny Coward, Java SE Platform Lead, and you can watch the video in Danny’s blog .
He covers the features and talks about the success of Java SE 6, which is already old news. To me, the most interesting part of his presentation was a statement about Java modularization in Java 7. If you do not have time to watch the entire video, just fast forward the first 19 minutes of it, listen for a minute, where he talks about revamping Java Applications module system or so called super jars.

Then go to the 29th minute of the talk, where Danny talks about the Java Kernel project, which will allow to modularize JRE, so the a minimal version of the JRE can be downloaded first, an the rest of the JRE will be downloaded in parallel. Finally, the startup of the application may become faster and the applications themselves may become smaller.

Java modularization will be rolled out with Java 6 Update 2 (end of  ‘07) and will be completed with Update 3. Chris Maki has provided some more information on Java SE and the relevant JSRs in his blog .

So these two minutes of the keynote are my highlights of the JavaOne 2007. I wonder why 15000 people attending this keynote did not give Danny a standing ovation ofter each of these announcements?

Unfortunately, I could not find yet another minute in any of the presentations that could have been voiced like this, “Now let me welcome our new hire, Michelangelo Buonarroti who will run a new division called User Experience. Mr. Buonarroti’s goal is to create a pixel-perfect set of new GUI components that will be used for the Java desktop applications of the future. We are giving him a cart blanche – he’ll be studying all currently available eye-candy GUI components of our competitors and will have to come up with a new set of components, layouts, skins and effects to make the applets appealing. There is one restriction though: in his research, Mr. Buinarroti is not allowed to look at the current Swing components”.

Comments

 

Grey Line

Where have you been yesterday?
I was at a concert listening to Pavarotti
Is he really that good?
Nothing special, let me sing some of his songs for you.

Since I am not there, I can only write comments on comments of people who actually heard the concert. Cay Horstmann is Java Champion, and he keeps good notes at JavaOne and here’s his coverage of Day 2 .

Cay has attended the JavaFX presentation, and I can’t stop myself from commenting some of Cay’s notes on Chris Oliver’s statements.

1.” The language is interpreted; it will be compiled at some later point.”
I see two issues here – until it’s compiled it’s pretty much useless – I’d rather use GWT framework to generate un-compiled JavaScript. When at some later point it will be compiled, the speed of its runtime engine becomes the most important thing.

2. “It is statically typed.”
Why a scripting language should be statically typed?

3. “Any Swing component can also be included.”
And this spells big problems to me. This means that the runtime engine will stay large to be able to accommodate all Swing libraries. But the larger problem is this – if you want to make a tool for development rich Internet applications, you do not take last-century-look-and-feel Swing components and bring them to the Web. But you hire the best GUI designers that start with creating modern-look-and-feel-eye-candy-light-weight-freaking-GUI-components, and then write an API to work with them on the Web.

4. Data Binding. “That’s how one avoids the writhing mess of listeners. According to Chris, data binding is not a part of any mainstream language”.
I really hope that Chris just said it to make his baby stand out. Cause if he did not know that data binding has been nicely implemented in ActionScript 3 programming language and MXML markup long time ago, his credibility goes down.

5. “Whatever you can do in Flash, you can do in Java. JFX gives you a faster way of expressing it.”
Wow, quite of a statement, but I have my reservations.

The consumer Java SE is expected in mid-2008. This does not sound too exciting. One very respected Java person made a really funny comment yesterday, “If only we could ask Adobe and Microsoft to stop their development for a year to allow Java to catch up to the point they are both at now (well in Flash’s case, to catch up to the point they are were at a few years ago!)”. Well said.

If you’ve attended one of the recent JavaOne conferences, you’d really enjoyed the organization of this event. The general sessions usually run in a HUGE hall that can easily accommodate at least ten thousand people, the stage has HUGE monitors, the sound is excellent. This really helps to make any announcement sound really important. But in a couple of days all the amps will be unplugged, the monitors will be boxed, and we’ll need to take another and more sober look at what are we left with.

Comments off

 

Grey Line

Why would a Java programmer go to a Seafood restaurant? I would not be surprised if you’d get this question during a job interview at Google or Microsoft. But my answer is simple: a Java programmer goes to a Seafood restaurant to eat seafood. I often go to seafood restaurants with my friends, and there is always someone in our party who’s going to order steak. I just do not get it. Yes, there is a small probability that the seafood chef knows how to make steaks. But why take chances?

Microsoft is a company that makes their living by selling Windows licenses and Office automation for the desktops (I know they make steaks too). Adobe is a company that caters to designers and GUI developers (yes they make steaks too). Sun is a company that sells servers and create a software (starts with J) that runs really well on the servers. Now Sun’ve announced that they are adding steaks to their menu (JavaFX).

After reading the interviews,participating in a briefing for Java Champions and listening to several Sun executives talking about the renewed interest to RIA and the new language called JavaFX, I got a feeling that these executives have learned about this language a couple of days ago. They are not exactly sure what it is for. When Gosling says that we are not going to compete with AJAX but may find ourselves in that territory, I have no idea what he wanted to say. On the same note, Flash does not compete with AJAX either – it’s comparing apples and oranges.

Green states that their main goal is to get closer to the customer, but what should force a customer to throw away Flash Player that is already there and replace it with a new JVM? It’s possible only in one condition – the JVM and JavaFX applications will prove to be superior to Flash Player. Today, Sun is way behind in this area, but who knows, may be they have some secret weapon that will change the balance on the RIA market.

People who attended the opening keynote session blog that they’ve seen a mockup of the Motorolla site done in JavaFX , and it was pretty good. I have not seen it. I just went to the blog of the creator of this language Chris Oliver. It has a demo of F3 wrapped into Java WebStart (?!). I assume that JavaFX was created based on F3. This demo could have impressed me in mid-ninetieth. You can also find the JavaFX mini-tutorial over here . On Wednesday Chris Oliver presents JavaFX at JavaOne, and I really hope that he has something a lot better than I’ve seen on his site.

Is Sun really serious about entering the RIA space, or it’s just a trendy place to be?

Yakov Fain
Java programmer

Comments (1)

 

Grey Line

JavaOne opens today and it’ll be interested to hear more about this renewed interest of Sun in Java on the client. While James Gosling and Rich Green have already given some details on JavaFX in the InfoWorld publication, I’d like to hear more technical details rather than marketecture.

So far, based on the available info, I can see that JavaFX is announced as an alternative to AJAX. One day JavaFX may start competing with Adobe Flex and Microsoft Silverlight. JavaFX will appeal to enterprise “Java-Or-Die” developers just because it’ll run on JVM. As to consumer facing applications, I do not expect any serious competition to Flex or Silverlight unless the following two issues will be resolved:

1. Sun or someone else will come up with a way to eliminate the install process of the JVM that will be needed to run JavaFX on the client – any trucker from Alabama should be able to install it, and the process should be as simple as with Flash Player today.

2. The size of the JVM should become substantially smaller. Today’s JVM is 16MB, while Flash 9 weighs 1.2Mb, and Silverlight’s Dynamic Language Runtime is about 4MB.

Overall, renewed attention to Java on the client is great news and I’m looking forward to see a technical presentation of JavaFX in action.

Yakov Fain

Comments

 

Grey Line

Last Summer one of my colleagues had to prepare a presentation on Java to a client. When I looked at it, I got goose bumps – his document had the image of Duke in there. I knew that it was illegal – Sun trademarks everything and anything when it comes to Java language wordings and images.

Outsourcing Java meant the end of the jail time for Duke – it’s free now.

Adobe Flex frameworks is open sourced now, and my question is this are we, third-party developers allowed to use the word Flex as a part of the name of our products? For example, next week we are releasing four commercial plugins – DaoFlex, Flex2Ant, Log4Flex, and Flex2Doc, and the FlexBI in a month. None of these names uses the word Flex as is, but rather as a part of the product name. Is this legal? Are we allowed to use the Fx image anywhere in our logos, headers, product screens?

Sun Microsystems published their trademarks document, which is not too easy to understand but at least it’s something. Does Adobe have a similar document regarding the Flex-related trademarks?
I’d appreciate if someone from Adobe legal team could answer my questions using the sample names that I mentioned above…and preferably in English so regular people could understand it too. I’m sure such information would be useful for the entire Flex community.
Thanks,

Yakov Fain

Comments (5)

 

Grey Line

When Microsoft renamed WPF/E into Silverlight it was just a re-branding news. But yesterday’s news requires some serious attention. Microsoft has announced SilverLight 1.1 Alpha.

Here’s the quote from asp.net:
“Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, Ruby, and integrates with existing Web applications.”

If Silverlight 1.0 Beta was about XAML GUI with the business logic written in JavaScript, now a new runtime called Dynamic Language Runtime will be used for the RIA deployment, and the fun part is that you’ll be able to create these applications with any of the languages mentioned above. This is really breaking news. The new runtime will weigh about 4Mb (Flash Player 9 that holds two VMs weighs 1.2Mb), and expected seamless installation time is under 30 sec (similar to Flash Player 9). JIT is also there.

While Java community is discussing which language features to include in the heavy tank of the future called Java 7 , their main competitor provides support to multiple languages. JVM is a very powerful but underutilized machine, and it’s about time to run more than just tried and true Java there.

Now Adobe has to respond to Microsoft with some secret weapon besides Apollo. If I were running Adobe RIA division, I’d pick up the phone and dialed the number of Jonathan Schwartz.

“Jonathan, what do you think of this crazy idea – let’s see if we can run some trimmed down version of Java in Flash Player 10”.

Yakov Fain

Comments (6)