You can view the video or listen to the audio here: Sun Announces JVM for iPhone
Sun plans to announce more details about their iPhone plans within the next few weeks. Check back on Sun's media page (http://www.sun.com/aboutsun/media/index.jsp) for announcements as they are made.
Happy coding!
-EJB
Ted and Frank join other technologists, such as Ian Murdock, Charles Nutter, Thomas Enebo, and Nick Kew who have recently joined Sun to pursue open source project development and community activities.
To find out more from the developers themselves, check out their blogs:
Ted Leung: http://www.sauria.com/blog/
Frank Wierzbicki: http://fwierzbicki.blogspot.com/
Presumably, Microsoft is aiming to take Google head-on in both the enterprise search space, and the mobile platform space. That makes sense, given the tremendous growth and potential in those areas. Never mind the possibilities of new markets around the end-to-end integration of the two. Imagine the up-side of a combined enterprise middleware, desktop OS, and mobile OS strategy with an integrated hardware platform!
The interesting part of this is the amount of Java code that Microsoft acquires with these deals. All of the enterprise code in Fast's products is based on Java, along with the Danger mobile platform. This also brings with it an installed base of integrated OEM and third-party Java-based applications, and the associated Java developer communities. In my opinion, Microsoft has no choice but to support and enhance this Java-based strategy. What else can they do; switch to C# and alienate both companies' customers and developers? Doing this can conceivably destroy the value and hence the strategy behind the acquisition of these companies in the first place.
Instead, what I think we're witnessing is Microsoft's embrace of Java to gain traction in areas of the Web 2.0 world where it has not been able to get to with .Net and C#. I, for one, am very interested to see how this will play out; I would expect this to spark the beginning of a new stage of Java growth in the industry.
Happy coding!
-EJB
]]>The CEOs of both companies discuss the both the acquisition and the rapid rise and adoption of Spring and Tomcat on their respective blogs, found at (http://blog.springsource.com/ and http://blog.covalent.net/roller/covalent/). You can also read the press release at http://www.springsource.com/web/guest/2008/covalentaquisition.
Some interesting facts about the acquisition:
-64% of corporate enterprises worldwide run Tomcat
-93% of enterprises that run Spring also run Tomcat
-Both companies have a very large presence with Fortune 500 companies
Reuters has chosen Sun's implementation based on their latency numbers (max latency of 10 to 20 microseconds for no-heap real-time threads), and guaranteed predicability. Regardless of which vendor was ultimately chosen, the victory goes to Java, as it is now proving itself in the few remaining areas traditionally reserved for C/C++ development. Companies are discovering that they can leverage their Java programmer talent and code-base in low latency, deterministic applications, such as data-feed processing and order processing.
“Reuters Group has a wide range of systems that use Java technology as part of the solution to deliver core services to our customers. We wanted a Java technology-based solution that could address our demanding, and growing, requirements for predictability and low-latency, as well as enable us to leverage our existing code base and Java technology expertise. We look forward to working with Sun as we deploy the Sun Java Real-Time System as part of our market-facing projects,” said Andrew Cunningham, Global Head of Transactions Platform Group, Sales & Trading Division at Reuters. “
To read more about this, see http://biz.yahoo.com/bw/080204/20080204005482.html?.v=1
Happy coding!
-EJB
Although the Oracle deal is larger in terms of overall dollars, in my opinion, the Sun-MySQL deal is bigger in overall impact to the open-source community. For Sun, this further cements them as an open-source software leader, clearly targeting the Web 2.0 world of developers. For MySQL and its customers, the infusion of resources by a larger company like Sun should help it improve and grow. For an excellent analysis of the deal, open-source, and the database market, be sure to check out Jonathan Schwartz's blog at http://blogs.sun.com/jonathan/entry/winds_of_change_are_blowing.
For BEA customers, the future is not as clear. For starters, Larry Ellison has stated that WebLogic will be absorbed into Oracle's Fusion suite of software. Does this mean that WebLogic will replace Oracle's existing application server (something that might upset existing Oracle customers), or will the products be merged together in some way? Either way, it will take some time for the details to be worked out.
One other thing is apparent; consolidation in the Java marketplace represents a new stage in Java EE's maturity. Will we see more acquisitions in the coming months as companies compete for more of the Java EE pie, or will this open the door for new products and ideas in the enterprise space? Write back and share your opinions.
-EJB
]]>Better yet, many people and cable providers would prefer to use cable cards. Most of the newer televisions being sold today (and over the past couple of years) support this, and in my experience, the picture quality is best as there are no externals cables to patch things together. Unfortunately, with cards you lose services such as PPV and VOD.
In an attempt to fix all of this, CableLabs has been working on multiple fronts. First there is OpenCable (which is now tru2way; http://en.wikipedia.org/wiki/Tru2way), and second there is OpenCable Application Platform (OCAP) - see http://en.wikipedia.org/wiki/OpenCable_Application_Platform. OCAP is an operating system and application platform that is designed to work across devices (regardless of manufacturer) as well as cable cards. The goal is to bring a standard set of integrated services to a range of lower-cost devices and cards with a standard API to make the lives of providers and consumers that much better.
To achieve these ambitious goals, both OCAP and tru2way are based on Java. It seems that many companies are now jumping on the tru2way wagon (see http://www.engadgethd.com/tag/Tru2way/). For instance, some devices that integrate with the standard allow you to view your downloaded and DVR'd content either at home on your big screen, or on the go on a portable device. All of this cool integration is made possible by the standards-based goodness of a Java platform. Or maybe it's because they changed the name to tru2way...
-EJB
]]>I'm personally not sold yet; I still like to thumb through physical pages, see my books on shelves in my personal library, and be able to read something during takeoffs and landings when traveling (airlines don't like the use of any electronic devices when below 10,000 feet). Never mind that I like color magazines.
However, there's one very cool feature about the Kindle that does strike me - it's based on Java. Yes, inside this little wonder is a JVM making the whole thing work. From downloading content wirelessly, to searching across your purchased books' contents, Java is inside making it all possible (http://igorsk.blogspot.com/2007/12/hacking-kindle-part-3-root-shell-and.html). Besides the fact that this means people can hack it and do all sorts of wonderful, never-before-thought-of things with it, it means that as Amazon introduces potentially new readers based on different internal hardware, their existing Java-based software will work equally as well. That's the promise and delivery of write-once-run-anywhere.
This serves as yet another example as to why Java is still very much alive and well, especially in today's world of devices and mobility, despite the issues surrounding iPhone (http://www.ddj.com/blog/javablog/archives/2007/06/the_javaless_ip.html) and Android (http://www.ddj.com/blog/javablog/archives/2007/11/google_android.html). If Amazon can do this much with Java in the age-old industry of book sales, what else can be done? Write in with your ideas and help to make them happen!
Happy coding!
-EJB
However, I'm most concerned about Java FX Mobile. With all of the hype about the iPhone and the February delivery date of a comprehensive SDK, and now Google's Android mobile phone project, it's important for Sun to make it clear where Java FX fits in. Don't forget the rumors of Apple's pending handheld device of some sort (http://www.macrumors.com/2007/12/31/apple-sub-notebook-hints-external-optical-drive-multitouch-trackpad/); will it run Java? Sun needs to clearly show where Java FX Mobile is a better alternative to these two competing platforms. In other words, Sun, generate some hype and excitement around Java FX!
Why should you care? Because Java FX gives you the ability to write cools applications of all sizes and types, and run them on desktops and mobile devices equally. Your potential market size will grow by billions. What's better, you can still write your code in Java, and use Java FX Script to simplify the otherwise tricky Swing GUI code. Java FX finally brings a viable, platform independent, easy-to-develop, GUI framework to the Java world, and Sun has been very quiet about it.
What I'd like to see are more online tutorials, with real applications for demos; developer events in major cities sponsored by Sun; partner programs where major vendors announce their commitment to the platform to expand their application support, and so on. It can't just stop at JavaOne. To be fair, Sun did recently announce a new NetBeans plug-in, and a scene graph project for Java FX Script. See the links here:
- NetBeans 6.0 Java FX Plug-in: https://openjfx.dev.java.net/javafx-nb60-plugin-install.html
- Project Scene Graph: https://scenegraph.dev.java.net/
Java FX Script is mostly open; you can download and contribute to the compiler code today (https://openjfx-compiler.dev.java.net/). Perhaps Sun should build Java FX Mobile in the open also. It might benefit in many ways if Sun were to open it up completely, and allow the user base, the handset manufacturers, and the operators, to guide its direction and contribute significant portions of code. What's your opinion? Would you want to get involved in such an effort? Does the expanded market base excite you as a developer? Write back and let me know.
Happy coding!
EJB
Scott’s view is that everything migrates back to the server eventually, of which the web is an example. If you’re like many people I’ve spoken with, you install less and less software on your computer, and instead use Ajax applications (http://www.ddj.com/architect/184406430) via a browser. Over 10 years ago I bought Encarta and installed it on a Windows machine. Today, I wouldn’t dream of doing that; I’ll just navigate over to wikipedia.org or Google. In fact, Google has so much of the web cached on their own servers, we can all turn off our web servers and just have everyone point their browsers at Google. But I digress.
The point Scott McNealy was making is that, eventually, everyone will store their music on a server (somewhere) and access it from wherever they are. Going for a drive? No need to remember to tote your iPod with you and plug it into an FM transmitter (http://www.griffintechnology.com/category/fmtransmitters). Walking around town? Exercising? Just use your cell phone and access your music that way. This assumes you’ll have the bandwidth needed in your car, your cell-phone network, at home, and in the office. Perhaps all remote (outside the office and home) bandwidth solutions will be provided by cell phones – the future will tell.
Storage
The storage market is headed that way also. There’s the obvious web-based backup method, but there’s also a way to access your home or business-based storage no matter where you are. It’s called MioNet (http://www.mionet.com/), and it’s available from Western Digital as part of their My Book World Edition product (http://www.westerndigital.com/en/products/Products.asp?DriveID=347). It’s also based on Java – just scroll down the page and you’ll see the requisite Java logo. They also demonstrated MioNet at JavaOne this past year.
Thanks to the Java-based MioNet, your local storage can be securely accessed from wherever you are (so long as you have bandwidth). On the road and forgot that critical file? Just get it from your office-based storage devices via the closest Starbucks WIFI. It’s all made possible by the power of Java and java, if you will.
TV
IPTV (http://en.wikipedia.org/wiki/IPTV) shows that even television programming is moving away from being controlled by big networks, and instead is going to be controlled by you, the viewer, on demand. No longer will we be slaves to a network’s programming schedule; simply navigate over to a web site (a bunch of servers, really) and pull up the content you wish to view, on-demand, according to your own schedule. Even TiVo (http://en.wikipedia.org/wiki/TiVo), another client-side technology, could become obsolete in this case as you will no longer need to remember to record something because you can watch it whenever you want via the web. That is, unless, they migrate their entire business model to the server (http://www.tvpredictions.com/tivocomcast053107.htm).
That’s all very cool, and very much in line with McNealy’s predications. And Java is alive and well, enabling this continued migration. Now if only I can persuade the NY Yankees to play only when it’s convenient for me to watch…
Happy coding!
-EJB
The remainder of my studies began with an abrupt shift to C (C++ was not offered as it was very new). I recall that I shared much frustration with my fellow classmates, as we had to quickly, and on our own, apply all that we learned in Pascal to the C language just to complete our assignments. Perhaps if we started out in C, things would have been smoother, but I think a valuable lesson was learned that has remained with me through the years: as a software developer (or anyone in the computer industry), your ability to adapt and accept change will set you apart from the rest. Being able to learn at a quick pace, on your own, and then apply what you’ve learned, will help bring you success in this industry. Add to this the ability to share with and teach others around you what you’ve learned the hard way, and you’ll gain the respect of your peers also.
To the point of whether Java should be taught in college courses, I think the answer is yes. However, it shouldn’t come at the expense of the other lessons that need to be learned before ever writing a line of code. Good problem solving skills, an understanding of the theory behind computers and software, and a willingness to learn, must all precede gaining intimate knowledge of any computer language.
If you look at C/C++ as a meta-language, Java is simply an implementation of it. After all, these languages share so much in common syntactically and even conceptually that learning one does not come at the expense of the other. Today’s students that use Java have a big advantage that I didn’t have when I was in college: write-once-run-anywhere (WORA). I was stuck sharing time with other students in a university computer center because that was the only place I had access to an approved C compiler, with the ability to email my assignment to the course professor when complete. Today, students can use Java (and even GNU C compilers if they happen to have a C project) on their laptops, and then email the assignments straight from their dorm rooms. And it doesn’t matter whether they run Linux, Windows, or Mac OS X; My choice was limited to a time-shared PDP-11.
To summarize, the use of Java provides students:
-The flexibility to write code on almost any computer available to them
-A variety of integrated development environments (IDEs)
-The ability to learn and apply data structure concepts
-Object-oriented programming
-Concurrent programming
-Real-time programming
and so on…
Happy coding,
EJB
Before we get into this, let’s review some facts. Sun owns Java; it’s their IP and everyone besides developers needs to pay for it. Sure, OpenJDK is an option for companies that distribute Java with their products, but that subjects them to the terms of the GPL. Therefore, if you want to embed Java in your commercial product, you need to pay for it.
The interesting thing about Android is that it includes a version of Java that may violate Sun’s license terms. For instance, it breaks Java’s requirement for portable, WORA, code by compiling it down to machine-specific instructions (see http://www.oreillynet.com/onjava/blog/2007/11/dalvik_googles_tweaked_nonstan.html). It doesn’t appear that Google has entered into talks with Sun to license it at all (see http://blogs.zdnet.com/BTL/?p=6900). Also, one interesting portion of the Android SDK license click-through agreement (which you agreed to if you downloaded the SDK – whether you knew it or not) claims that ALL of the SDK – which implicitly includes Java – belongs to Google. See http://code.google.com/android/terms.html for the complete terms that you’re agreeing to when you download the SDK.
I’ve read other reports that Sun and Google are headed for a big fight (see http://www.techworld.com/news/index.cfm?RSS&NewsID=10693), or that Google’s intent is to stick it to Sun for one reason or another. I don’t believe any of this; I think it’s all media hype. My opinion is that Google is taking aim at the wireless carriers, and ISVs such as Microsoft, with Android and the OHA, not at Sun or Java. Google’s intent is to disrupt the marketplace for what it believes is the good of the Internet community; in this case, cheap or free wireless connectivity with a standardized application platform. Their use of Java, and the bending of it to meet their platform needs is part of that, but it’s not meant as an attack on Sun.
So how will this be resolved? I can’t be sure. However, my opinion is that Google and Sun will work things out in a reasonable way, where concessions will be made on both sides, possibly with Google committing to NetBeans as the sole Android IDE, and Sun changing its JavaFX Mobile (http://java.sun.com/javafx/mobile/) strategy to benefit Android in some way. Stay tuned for more information.
Happy coding!
EJB
But where would we be without capitalism? For instance, the top-two contributors to the open-source world are Sun and IBM. Sun is by far the largest contributor, when measured in person-months of development time, as outlined by the European Commission in this Business Review article (http://www.businessreviewonline.com/os/archives/2007/01/where_does_open.html).
While the community of developers that join efforts around an open-source project are what really matter, this article sheds light on the fact that today’s largest commercial software vendors have the potential to make an even larger impact. In my opinion this means that there’s room in this industry for both open-source projects, and commercial software entities, and that they can co-exist and benefit one another in the marketplace. After all, communities of volunteers, regardless of the industry or market – software or otherwise – need support from people or corporations that have the funds to make things happen. Any good commercial software company, and open-source project for that matter, will be motivated to do this for one reason: the benefit of the end user. If a corporation isn’t concerned with that, then they probably won’t be in business long anyway.
What are you, and/or the corporation you work for, doing to support your end-users through the open-source software community? Write back and let me know.
Happy coding,
EJB
November 13 2006:
• Sun open sourced several components of Java SE (javac, HotSpot) and the entire Java ME code base, both CLDC and CDC, under GPLv2 licensing.
December 20, 2006:
• Five weeks later, the MIDPath Project releases a MIDP 2 implementation for desktops, based on the phoneME project. This allows you to run Java ME applications on your desktop development computer.
May 8, 2007:
• The entire Java SE JDK source code base is released on the openjdk.java.net site, and is announced in the keynote at JavaOne.
• Later that same day, a Gentoo Linux ebuild of the OpenJDK code base is published, proving that the Open JDK project is workable.
• Yet later that same day, a source RPM is published by the Fedora project by Fedora engineers who were sitting in the audience at JavaOne.
May 9, 2007:
• phoneME Feature Milestone Release 2 is released in the Mobile and Embedded Community.
May 16, 2007:
• phoneME Advanced Milestone Release 2 completes the update to the Java ME FOSS code bases. Now both Feature and Advanced implementations are under live development in the project's Subversion repository on java.net.
June 7, 2007:
• The IcedTea project forms to deliver a patch-set for the OpenJDK code base that allows it to be built from 100% free source code, using free software build tools.
"We intend this build repository, based on OpenJDK, to provide a basis on which to experiment. It’s not a fork from OpenJDK, and doesn’t contain the OpenJDK source code.” - Andrew Haley, Red Hat.
August 9, 2007:
• Sun announces the OpenJDK Community TCK License Agreement.
Fall 2007:
• The Mobile and Embedded Community begins porting phoneME advanced to the Nokia N770/N800 Internet tablet device. And Italian consortium Cineca is using phoneME in an open source set-top box for interactive digital TV.
November 5, 2007:
• Red Hat announces that they have signed the Sun Contributor Agreement (SCA) and the OpenJCK Community TCK License Agreement. A significant player in the Linux world agrees to join and contribute, and to work towards shipping a 100% Free and compatible implementation as part of their distributions. This also paves the way for most of the IcedTea developers, who work within the Fedora project at Red Hat, to align IcedTea even more closely with OpenJDK.
November 13, 2007:
• One year later, the OpenJDK project has been downloaded nearly 12,700 times by developers in the six months since the JavaOne announcement of a fully buildable JDK. And that tracks only full bundle downloads of the 6.5+ million line code base, and not checkouts through the read-only Subversion repository.
• The OpenJDK Interim Governance Board is actively working toward creating a Constitution.
• The Mobile and Embedded Community has over 80 projects active, over 500 passionate members, and has seen over 20,000 downloads of all projects in the community.
• The Java Mobile and Embedded Developer Days Conference, scheduled for January 23-24 2008 with James Gosling as keynote speaker, is open for registration.
If you're interested in hearing all about this right from the horse's mouth, watch these videos from key people within Sun:
• Mark Reinhold video
• Ray Gans video
• John Muhlner video
Happy coding!
EJB