Attending Adobe and RIM Playbook seminar

I spent a day today attending Adobe and RIM (producer of all-over-the-place Blackberry) seminar about developing software for the upcoming Playbook tablet. If you haven “t heard about the Playbook yet, it “s a 7 rdquo; dual-core 1Ghz machine with 1Gb of RAM, two video cameras, and multi-tasking.

I was there for a very practical reason trying to evaluate this hardware to be a platform for the mobile version of our software product ndash; Licensing and Contracting for insurance agents. The desktop version of this product is a pretty advanced Adobe AIR application that automates processing of lots of PDF forms, engages OCR technologies, uses Web Services, et al.

While we are already working on creation of the Android of this product and have concrete plans for iPads, it would be simply wrong to ignore the company that have already sold 115 millions of Blackberries and is about to release a tablet that will compliment their hugely popular smart phone.

Adobe and RIM work very closely on this device. All applications that come with Playbook are written in Adobe AIR. Flash Builder Burrito IDE streamlines creation of the mobile application s in general and for the Playbook tablet in particular. Of course, the entire platform has a room to grow, but I have no doubts that next year AIR will feel at home on the Playbook “s OS called QNX.

The tablet looks likes a smaller version of iPad. The screen resolution is 1024×600. The 600 seems a bit low for the enterprise applications though. The video rendering is really fast. Flash Player 10.1 is supported.

Based on the needs of our insurance application, we “ll have to wait and see, because today “s Playbook doesn “t support working with PDF, which is crucial for us. Next year this device will support Blackberry Java Development Environment.

Overall, it “s a nice device. Currently there are no fees for joining Blackberry Application World, where early adopters can get all required software for the creation of applications for Playbook.Adobe evangelists have already created a handful of applications demoing features of this new device.

I have one more concern related to development under MAC OS (based on my observations, 50% of developers who work with Adobe software are carrying MacBooks). The requirement to have a full version of VMWare Fusion will make development for Playbook not overly productive unless you have 8Gb or RAM.

The Spring of 2011 will be a very exiting time for those who already understand that tablets are the new trend. Variety of new devices are going to be released soon, and don “t forget about Apple engineers, who I “m sure, are working hard on a dual CPU successor of the iPad.

Next year, we “ll definitely release a new version of our application – an insurance agent will be selling you term life carrying a small tablet talking to a cloud in occasionally connected environment. The trucks full of paper forms will become history. We “ll just need to decide, which tablet will become our pilot.

Today Oracles JVM has no chance on the client

Unfortunately, I had to demonstrate how to install JDK SE 6 under Windows. I needed it for the book. After spending an hour trying, I decided to take a break and recorded a screencast showing how a process that had to be a one-click deal was responding to my attempts to install Oracle ‘s software.

I agree, I ‘m a little spoiled by the ease of installing Adobe ‘s Flash Player and AIR. I was ready to do some dances and answer 10 questions while installing Java. But things got worse. I ‘ve deleted the previous install of Java SE 6U22 and now it keeps telling me that I already have it, and so far I ‘m not sure how to get out of this situation.

Sun Microsystems had ignored Java on the client for fifteen years. The brave announcements that JavaFX will be THE solution for the client didn ‘t have any substance and three years of “let ‘s pretend we develop a RIA tool ” lead nowhere. And I ‘m not even talking about the technical merits of JavaFX. Who cares what the program can do if it can ‘t be delivered to the client? The clients needs a runtime – at a minimum – JRE. On top of that, it ‘ll need another little something (so far we don ‘t know what) – JavaFX 1.3 is undergoing dramatic changes, and it ‘s not clear how JavaFX 2.0 applications are supposed to be delivered to the consumer. Not to the corporate users whose desktops can be re-imaged by sysadmins with pre-installed JRE, but for a driver from Alabama who happened to run into a Web site that happened to be written in Java or JavaFX? No way.

I know that 100% of Oracle middleware is written in Java. I know that Oracle promises to pay attention to Java on the client. This is not going to work unless some really really serious attention will be paid to achieving SEAMLESS INSTALL OF JRE ON THE CLIENT ‘S computers. And keep in mind that most of the users are still on Windows. Learn from Adobe who know how to install VMs by making just one or two clicks. Yes, I ‘m talking about Flash Player.

Now you can enjoy the 4-minute screencast titled “You already have Java installed. Do you want to reinstall it? ” Meanwhile, I ‘ll may immerse into the exciting world of Windows registry cleaners and Cleanup utilities. No, I ‘d better restore the one month old backup of the Windows VM.

A New Kind of Java Tutorial is Almost Ready

During the last six months I had a pet project for Wiley Publishing. I “ve been writing a new Java tutorial, which teach Java programming in a little bit different style than traditional books. The title of the book is “Java Programming 24-Hour Trainer “. I can almost hear the voices, “Yeah, yeah, yeah hellip;Yet another promise to teach me Java in no time. How about teaching me Java in 24 minutes? ”

This is not to state that you can learn the software covered in this book within 24 hours of studying. This is about having a trainer that “s with you 24 hours a day. This book is a set of short chapters with minimum amount of theory but with an instructional DVD, with screencasts recorded by yours truly. There is a screencast for each lesson except the last one.

This relatively small 500-page book consists of 38 lessons and covers both Core Java and Java EE 6. Each lesson is from 10 to 15 pages long so you won “t even have time to fall asleep. Each screencast is from 10 to 15 minute long so you won “t have time to get bored. At the end of this lesson is an assignment to complete. In this book I use Eclipse IDE and GlassFish v3 is the application server that I like.

Just look at these thirty eight lesson titles and give me a good reason why you shouldn “t be pre-ordering this book. Know Java already? Doesn “t really matter. I thought I knew it too before I started writing this book. Now I know it better. It “ll help the newbie “s to learn and seasoned Java programmers to refresh their knowledge, especially when it “s time to make a career move. These are the lesson titles:

1 Introducing Java

2 Eclipse IDE

3 Object-Oriented Programming

4 Class Methods

5 Back to Java Basics

6 Packages, Interfaces and Encapsulation

7 Programming with Abstract Classes and Interfaces

8 Introducing the Graphic User Interface

9 Event Handling in UI

10 Introduction to Java Applets

11 Developing a Tic-Tac-Toe Applet

12 Developing a Ping-Pong Game

13 Error Handling

14 Introduction to Collections

15 Introduction to Generics

16 Working with Streams

17 Java Serialization

18 Network Programming

19 Sending E-mails with Java

20 Introduction to Multithreading

21 Digging Deeper into Concurrent Execution

22 Working with Databases Using JDBC

23 Swing with JTable

24 Annotations and Reflection

25 Remove Method Invocation

26 Java EE 6 Overview

27 Programming with Servlets

28 JavaServer Pages

29 Developing Web Applications with JSF

30 Introducing JMS and MOM

31 Introducing JNDI

32 Introduction to Enterprise JavaBeans

33 Introduction to Java Persistence API

34 Working with RESTful Web Services

35 Introduction to Spring MVC Framework

36 Introduction to Hibernate Framework

37 Bringing JavaFX to the mix

38 Java Technical Interviews

This book will hit the bookstores in February and you can pre-order it on Amazon at this address. I hope you “ll enjoy reading this book as much as I enjoyed writing it.

Submitted &”Java for Blondes&” workshop proposal

I ‘ve submitted the following hands-on workshop proposal to the Flash And The City conference:

“Java for Blondes

In Java community, Flashers are considered second league. While Java developers build highly-available scalable multi-threaded systems for Wall Street, Flashers are fooling around with animations, effects and bending pixels. This is a four-hour hands on workshop. The first part will be spent explaining basics of Java development. In the second part, attendees will develop Flex/BlazeDS/Java/DBMS application, which is their to keep. There is a limited number of seats for brunettes too. ”

Not sure if this kind of a proposal will make it to this event, but I ‘m planning to run this workshop (or its stretched version) a couple of times next year.

Blondes, unite!

Flex Camp Wall Street next week

A good mix of practitioners and Adobe Evangelists will be presenting on various topics related to using Adobe Flex in the real-world projects. Farata Systems will be represented by Victor Rasputnis and myself. Hope to see you there.

Victor will show you how to generate complete CRUD Adobe Flex/BlazeDS applications based on Hibernate framework on the Java server side. Clear DataBuilder Eclipse plugin will assist us in annotating Java interface without the need to do manual coding and configuration. You will see remote lazy loading of the collections, server-less transactions controlled from the client and, integration with Adobe Fiber – a model-driven development environment of Adobe LCDS… but with BlazeDS.

I ‘ll talk about making networking of Wall Street applications reliable with BlazeDS. Loosing a trade order is not an option. But using free and open source BlazeDS for Flex/Java communications doesn “t guarantee 100% of all your clients ” orders will reach the destinations. This talk is an overview of networking problems of Flex-BlazeDS enterprise applications with the demo of the error-emulating protocol, which concludes with introducing of reliable AMF channels.

Visit the Web page of Flex Camp Wall Street for more details.

Ill be teaching public Java class in December in NYC

I ‘ll be teaching a hands-on Java/Java EE class in December in New York City. If you know any other programming language, this may become your chance to jump into the enterprise Java development. It won ‘t be easy to get from zero to hero in just five days, but it ‘s doable with the right motivation. During the first three days you ‘ll be learning the Java language as it ‘s used for programming for the client side (Java SE), and the last two days are for developing on the server side with the latest Java EE 6 technologies.

If interested, register here. While you “ll be enjoying my class, your spouse will enjoy Christmas shopping in New York City.This offer may be especially appealing for wives and girlfriends of Russian oligarchs – send him to school and have fun in the City of the World! If the price of this class seems to low for him, I can provide an alternative registration page with an extra zero at the end.

If you want me to teach this class privately on-site in your organization, send me an email at yfain at faratasystems.com.

Apples Magic Trackpad didnt do the magic

In my 2-year old MacBook Pro the trackpad stopped working. Well, it works when I “m on the ground, but when I “m up in the air (on the board of any aircraft) it stops working. Smart me decided to purchase the new toy from Apple ndash; the magic trackpad . Proud of my own yet-another-smart-decision, I boarded the plane. Guess what? The magic trackpad didn “t do the magic. It didn “t work in the air either.

Apparently Apple designed this device just to communicate with the main trackpad via the Bluetooth. But when the main trackpad malfunctions, the “magic rdquo; one does the same. This makes it the most useless over-hyped deficit item I “ve ever seen coming from Apple.

But I “m not angry with Apple, honestly. I purchased their stocks back in January for $203 a share, and now they go for more than $300 and keep moving up. Now I have the money for the new MacBook Pro.

On the positive side, I “m a proud owner of a unique device that QA teams in product development companies should try to purchase from me. They can do accessibility tests of their products on my MacBook. The test lab should be set on board of any aircraft. As soon as the plane will be airborn, they “ll see how their software products suck when only keyboard is available.

Make your bid guys! I “ll put my 15 rdquo; MacBook Pro on eBay with a modest starting bid of $1000 USD.

Im lying in my Java book

Yes, I ‘m lying in my upcoming Java tutorial. I went again through the lesson about the Java interfaces. Well done, Yakov! Nicely explained the concept of interfaces and how they are great for offering polymorphic solutions. But I lied. Why?

I did it because this is what Java newbies have to say during technical job interview. Why? Because the chances are very high that people who will interview newbies also think so. And newbies won ‘t be able to convince the interviewer that even though programming to interfaces may look better to those (PEOPLE) who read the code, they still lead to tight coupling between objects. Even the definition “the interfaces is a contract between… ” clearly states that you can ‘t breach the contract, and you must read the contract.

What ‘s better? Events. An object A fires an event to an object B. No, I lied again. An object A is firing an event to whoever. It ‘s none of its business to whom. When Howard Stern broadcasts he has no idea who is listening to him. Whoever subscribed to this message. Think decoupling. Events. Observer-observable. Dependency Injection.

Read my book. Pass the interview. Accept the offer. Walk into the building on Monday. Stop by the cubical of your interviewer and say, “Sorry, man. I lied to you during the interview, but I didn ‘t have a choice “.

What a gibberish is this blog, right? I know.

On Microsoft, Adobe, Flash, and Silverlight

After all these rumors on Microsoft buying Adobe, several people asked me what do I think of it, and, of course the second question was (it “s always on the mind of every professional software developer), “What to learn next rdquo;.

To be honest with you, this news didn “t get me excited that much. If this will happen, it “ll be definitely more beneficial for Adobe products. With all my respect to Adobe engineers, I believe that Microsoft has a lot more experience in developing and RELEASING software than Adobe. If this happen, Flash and Silverlight will control most of the video delivery market on the Web, and the weak motivation of turning HTML 5 into a standard will simply vanish.

Will Flash and Silverlight merge into a FlashLight? I doubt it. Both of these runtimes can live as good neighbors on every device including iPhones. I still believe that Apple will stop playing stupid and will let Flash Player on iOS ndash; the sooner the better for them. Steve Jobs should do it at least for the sake of getting a standing ovation during his next year keynote when he “ll state that over the last year Flash Player has resolved its technical challenges and we decided to let it in. Whatever. Just do it.

Will I start studying Silverlight and the whole shebang that comes with it? No. I “m a Java developer who spent the last four years of my life developing applications having Adobe Flex clients talking with Java-based servers. And regardless of what some people say after recent actions of driven-by-lawyers Oracle “s, Java is stronger than ever, especially after IBM joined Oracle in OpenJDK efforts.

I highly recommend you to give a close look to Java EE 6 ndash; which is a robust and easy (I mean it) to use enterprise platform. If Adobe will decide to move away from Java and cater to .Net then be it. But I “m staying with Java!

Android Anarchy

Two years ago I switched from Windows computers to MacBook from Apple, and there is no way back. Why? If you understand the difference in driving Mercedes and Ford, you know the answer. During this time I ‘ve been using a number of non Apple programs on this computer, and the only negative experience I got so far was from Microsof Word – I have to use it to submit my new book chapter to my publisher.

Now let ‘s switch to the world of smart phones. I ‘ve been waiting for Android phones and honestly tried to find the device that would give me a better than iPhone experience. Peer pressure, you know. Android is open platform, as opposed to closed iOS controlled by evil Steve Jobs.

But the more I read about legions developers that heroically overcome difficulties in creating pretty much useless applications for Android the more I ‘m proud of myself for purchasing iPhone 4, the Mercedes of smart phones. Viruses are entering Android OS.Armies of software developers are writing mediocre programs for Android. Enjoy your freedom!

Maybe Steve Jobs is right in forcing people writing better quality code? Maybe he ‘s trying to keep the wannabe programmers away? Is he building elite guild in the software industry?

What do you think?