Another morning but the same ritual: Getting ready, a short walk to Hilton San Francisco, silencing the grumbling stomach with a carb-packed breakfast and a cup of coffee for the morning pleasure. All this before joining the thousands of techies to attend the morning’s first session kicking off at 8am.
After a good technical session about Building Highly Scalable and Available Apps, I went to discover that the second talk of the day on my agenda was rescheduled for 8pm as a BOF session (I know, I should have checked my e-mails more carefully first thing in the morning but the wireless coverage is patchy and the SSL bridge to access work e-mails don’t work here). With this huge blow to my daily schedule I was almost lost, not knowing what to do, shaking and cowering in a corner, when I discovered a session about Hudson, entitled Getting More From Your Continuous Integration Server: Taking Hudson To The Next Level. I was familiar with the basics but I was nowhere near being an expert so it ended up being a great talk for me. The speaker, John Smart, was very good and I ended up being glad for this schedule change. The whole session was almost a series of demos, which was a great way of learning about Hudson, its plugins, some corner configuration scenarios etc.
The following session, Java Exam Room: Tools and Techniques to Get an Inside Look at Your Application, was about diagnosing today’s highly concurrent applications running on multicore servers. The talk started with general disclaimers that in short said: Your Mileage Will Vary. The speakers presented a well-structured way in approaching the most common problem cases: triaging, getting to know the application at hand, verifying the symptoms etc. Then they dived deeper into scenarios such as Low CPU Utilization and High CPU Utilization. One of the tools that they showed was the jRockit Mission Control that is enjoying an ever-increasing popularity in this year’s JavaOne.
After having a well deserved break, getting some air outside and walking around the block, the day continued with a topic along the same lines as the previous talk: The Concurrency Revolution: The Hardware Story. In my opinion, this was the best talk of the day (though I hesitate between Hudson talk and this one as of this writing). Brian Goetz and Cliff Click did an excellent job in presenting the hardware-side of the concurrency story. I am usually not a hardware-geek however this was a fascinating topic as it is very important for us, developers, to understand the changing hardware architecture, obliging our applications to become multithreaded in a way to take advantage of this “Design Reboot” happening in CPU architectures. We all see in our newly developed systems that “Memory is the New Disk” and in search of faster memory access the crucial question becomes “How fast can we cache-miss?”. After the introductory parts, the speakers gave some recommendations. And the last part of their talk was about some solutions for certain scenarios:
- Thread Pools/ Work Queues
- Software Transactional Memory
The JavaOne Technical Session was scheduled pretty late during the day, which contained 3 main sections: Java SE, Java EE and Java Mobile/Embedded. Mark Reinhold repeated his “Java 7” talk, which was the first talk I attended yesterday. This covered the Java SE part of the session. Then it was followed by the Java EE head Roberto Chinnici‘s talk. And finally Greg Bollella talked about Java on Mobile phones and embedded devices.
I’d like to open a bracket here and mention something we witnessed yesterday during Thomas Kurian‘s Keynote speech. When Kurian was talking about Java on mobile phones, we were showed a video of Java applications running on a Sony Eriksson phone (I apologize, I am not able to give you the exact model as I am not familiar with these phones). The tragically comical part of the demo was that I thought I was back to 2005. In the era of iPhone OS 4.x and Android 2.x, it is insane to show such a video during the keynote speech of one of industry’s biggest conferences, unless one wants to ridicule a competitors lame product. I am asking you: who uses these apps on these phones? How popular they are? How much money they generate? What is their future? I know some folks who still love and play Atari. Is this such a technological nostalgia? Do you really think that someone who needs a mobile twitter client or a mobile facebook client would do so using such a phone? Even if there’s a niche market at the moment, how big this market be next year compared to its current size? And in 5 years, how many feature phones we are going to have?
I think it’s time to stop this madness. We already have Java on mobile phones. It is called Android. We don’t need a zombie technology that never dies but looks like it has been dead for a decade. Instead of suing Google, Oracle should thank Google because they achieved what Sun hadn’t been able to in so many years. Today, there is no doubt that Android is in route to become that biggest popular mobile platform. We are probably going to witness an episode similar to Windows PC vs Mac on mobile devices with Android vs iOS. And this is not only on mobile phones, Android is and will be used on e-book readers, tablets and probably more and more smart devices some of which are not even invented yet. And this is great for us, Java developers. So Oracle wants us to have the best tools and platforms… as long as it’s from Oracle. Just like Henry Ford who said “Any customer can have a car painted any colour that he wants so long as it is black”.
So, please stop showing us these strange looking mobile UIs of an earlier century. No one is impressed by them. You just need to turn your head and look around to see what kind of phones people use. I’d be really interested in seeing what kind of phones the presenters were using.
I’d like to finish this post with something positive and cool. Moscone Center has some cool stuff at the entrance of the exibition hall. Judge it for yourself: