Recently in API Category
Conducting an interview via email can be very convenient. I can formulate my questions exactly the way I mean them (avoiding my propensity for rambling), and the interviewee has the time to compose thoughtful answers that address my specific questions (avoiding his/her propensity for rambling). Plus, I get the complete Q&A returned to me in "cut-and-pasteable" text: No tedious trawling through my digital recording to transcribe quotable answers or deciphering my hastily-written scrawl while trying to write as fast as the interviewee talked.
Like most modern conveniences though, email interviews have their downside too. Not only do they forfeit control over when I will receive answers to my questions, but more importantly, they take away an essential interviewer's tool: the immediate follow-up question. Such was the case with this blog: An email Q&A with two members of the JavaFX team, JavaFX Chief Architect John Burkey and Senior Director of JavaFX Marketing Param Singh. The interview covers a variety of topics related to the recent JavaFX 1.0 release.
The interview wasn't completed as close to the actual release date (early December 2008) as I would've liked—the holidays not withstanding—and a couple of the responses beg for follow-up questions. But that's the price of convenience. I'll let you be the judge:
Sun's Zero-Sum Java Development:
DevX: With many Java developers clamoring for language features such as properties, closures, and data binding in Java 7 (not all of which will be included in that release) and fearing that Java is falling behind C# in terms of features, some view any development effort dedicated to JavaFX as resources diverted from core Java language development. How does the JavaFX team respond?
JavaFX Team: JavaFX is a series of technological initiatives, some of which just couldn't [be] done on top of the existing Java frameworks. Specifically, the industry is moving towards animation, visual tools, and scripting, all around a core of a scene graph. People are excited when we talk about these things, from traditional Swing developers, to visual designers who have never considered working in Java.
JRE and Applet User Interaction:
DevX: How does/will the JavaFX user experience (e.g., security dialogs, JWS downloading JNLP files, etc.) compete with that of Flash?
JavaFX Team: JavaFX is powered by Java, and hence leverages the underlying features and functionality of Java. For instance, JavaFX uses the robust and proven security model of Java. Consequently, JavaFX uses industry best practices for security for items such as cross-domain access and access to system resources.
DevX: If JavaFX is currently run as an applet in the browser, is there any way for a web developer to use JavaFX without placing applets on his or her web site?
JavaFX Team: No. Applets are just the standard container for doing JavaFX, managing the lifecycle of the JavaFX objects within the browser. However, we do have some nice features here, including bi-directional interaction with JavaScript, allowing very nice communication with the rest of the web site.
JavaFX Mobile:
DevX: Which mobile device manufacturers are the JavaFX team working with? If you can't divulge that, which mobile platforms will developers be able to use JavaFX with starting in spring '09 (announced release date for JavaFX runtime for mobile devices)?
JavaFX Team: Sun works with most of the major telecommunications carriers, operators, and OEMs with Java ME. Sun is working closely with these partners to bring JavaFX Mobile to market.
Sun will announce key partners around Mobile World Congress and will continue to roll out partners at other key events.
DevX: How soon do you plan to support JavaFX on Android?
JavaFX Team: Sun is committed to delivering JavaFX Mobile runtime on a wide range of platforms (device/OS combinations) that our partners demand. Sun has demonstrated the potential to deliver JavaFX Mobile on Android at JavaOne 2008.
DevX: How will the JavaFX team address the issue of provisioning JavaFX applications to mobile devices?
JavaFX Team: [Through] a standard set of tools to allow developers to deploy to mobile devices, as well as emulate those devices on Desktop. Over the next few releases, expect these tools to get better and better.
DevX: What portions (if any) of JavaFX will be left out of JavaFX on mobile platforms?
JavaFX Team: You won't be able to call the Desktop profile, which includes Swing-based API's on Mobile, and in fact, we encourage you do stick to our "Common" architecture, which is a focused set of API's enabling next-generation media and graphics, as well as effects and timeline-based animations.
Language Interaction and Web Service Support:
DevX: Besides Java, which other programming languages (or scripting languages) does JavaFX interact with and at what level?
JavaFX Team: There is a bi-directional JavaScript bridge, which allows deep access to our JavaFX API, or DOM. In addition, JavaFX is built on top of Java, and calls into any Java API in Java SE just as a Java applet would.
DevX: With JavaFX 1.0's added web service support (calling RESTful web services and making asynchronous HTTP requests that return XML or JSON), is this how Sun recommends JavaFX clients communicate with server-side applications? Are there plans for additional web service support capabilities in the future?
JavaFX Team: We fully support RESTful web services and the web standards, but will continue bringing more capabilities to the platform. There are several things in play, enabling easier tie-in with more sophisticated web services.
Open Source Roadmap and JavaFX Gadgets:
DevX: What's open source today? What will be in the future? What (if anything) never will be open source?
JavaFX Team: Sun is committed to open source. Key parts of the JavaFX platform are in open source, including the JavaFX compiler.
DevX: Do you intend to release a set of JavaFX-based gadgets any time soon, or do you plan to leave it up to the community to develop them?
JavaFX Team: Yes, in addition to the great work already occurring in the community, we have a standard set of gadgets coming in the next several releases.
"Not Invented Here" Questions:
DevX: Instead of JavaFX Script, why not just adopt Groovy, which already had all the necessary language constructs and was quite mature?
JavaFX Team: JavaFX Script is designed specifically for doing visual scenes, and because it is a statically compiled language on top of a world-class virtual machine, it is quite a bit faster than Groovy, as well as being more expressive for visual scene construction.
DevX: What features in JavaFX couldn't have been implemented directly to the Java language with some minor enhancements, such as Properties (with data binding) or the {} construct (like in Groovy) to cut down on the verbosity of the code?
JavaFX Team: JavaFX script is a scripting language, and as such is built for fast declarative style coding, and takes as its precedents several scripting languages. The entire look of the language would be different if it were a Java derivative. Both Java and JavaFX script are important languages.
Editor's Note: Thanks to DevX authors Edmon Begoli, Jacek Furmankiewicz, Anghel Leonard, and Jim White for contributing questions for this interview.
I had the opportunity to attend Yahoo’s second Open Hack Day at the Sunnyvale, CA campus. This was my first time visiting and I was impressed. It’s a big campus, with several buildings, a cafeteria with better food than some restaurants, free sodas, a fitness center that could rival certain fitness chains, and of course, purple chairs with yellow trim. How could you ask for anything more?
How about a 24-hour hack fest complete with kegs, old-school video games, an outdoor concert, and an open, collaborative, community atmosphere for developing the next great application? That’s what Open Hack Day is all about. Over 400 attendees registered for the event and 40 of them signed up for a camping spot on the Yahoo lawn. Walking around on Friday afternoon, I spotted giant bins filled with purple Frisbees, basketballs, and racks of T-shirts and pullovers. Yahoo really pulled out all the stops to keep the developers entertained while they worked (they call this work?) on their hacks.
During the press conference, Yahoo executives updated the media on the Yahoo Developer Network. The short of it is: Yahoo is alive and kicking. The executives presented us with a laundry list of API’s and applications that developers can use in their every day work—some of which I had no idea Yahoo even owned.
Let me list just a few: MyBlogLog, Delicious, FireEagle, SearchMonkey, BOSS, Flickr, and YUI. A developer can build a fairly sophisticated web site using the Yahoo User Interface (YUI) library, which is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML, and AJAX. An extremely brief demonstration left me impressed.
During my visit, I was handed a map of the Yahoo Developer Network. I found it interesting that Yahoo lists Open Social, My Space, and Google on their map. Yahoo connects to Google through Yahoo’s address book APIs, MyBlogLog, and Yap. Why would Yahoo advertise Google on a list of their web services? Perhaps Yahoo truly does want to foster open, collaborative, community-oriented development for the web.
Check out Yodel Anecdotal for more information on Open Hack Day, including a link to the list of winners.
At a lunch conference yesterday, Yahoo! released Fire Eagle out of beta. This API allows you to broadcast your location to whomever you want, automatically or manually via your phone. You can post your location on your blog or other various sites. To me, and certain segments of the population, this sounds like a nightmare. To other segments of the population, this sounds way-cool. The latter segment is the same population that thinks email is ancient technology. How secure does today’s youth feel that they want people to know exactly—to the address—of their current location?
At yesterday’s press conference, I saw three different demos of this type of application. The first was from Pownce. The 25-year old co-founder presented Pownce as a means to “send stuff to your friends” because who has time for email and all that spam? Pownce uses Fire Eagle and tells all your friends where you are, in case you want them to join you, without courtesy of an invite or a phone call. Because, you know, phone calls and invitations take so much time what with all the dialing, ringing, and having to leave a voice mail… and then you have to wait for someone to call you back. Who has time for that?
Moveable Type, Six Apart’s flagship product, was the second demo and also featured Fire Eagle. You guessed it, this application allows you to post your current location on your blog. Just in case you want anyone who happens to read your blog to stop by and say hello, or mug you, or something…
The last demo was the most useful looking, to me. Outside.in Radar brings you local blogging news. Based on the concept that you are concerned about the pot hole on your street and not concerned about the pot hole in the next city, Outside.in Radar tells you who is blogging what within 1000 feet of your zip code (you manually provide your zip code). I gave it a test drive and I learned that someone wrote a review of a restaurant that is within walking distance of my home. The site provided more links to more information about this restaurant—and several others in the area—that I don’t think I’ll ever have time to click on them all. It also allows you to track all future news items about this restaurant. It is information overload at it’s finest. Talk about a time suck. I could seriously get lost on this site.
As for me using Fire Eagle, I think I’ll put it on hold. I’m very comfortable without people knowing exactly where I am at all times. Unexpected visits do not sound all that appealing to me. But then again, I think email is still useful, so I am probably not the targeted audience for this API.
The semantic web turned me into a flip-flopper. I’ve heard from both the positive and negative camps. The positive camp thinks the semantic web will revolutionize the web. The negative camp thinks the semantic web is nothing more than fancy metadata. I have yet to hear from anyone sitting in the middle. I think I might be the only one...
At first, I leaned toward the negative camp. I wasn’t seeing any real applications and the conferences I attended didn’t help much. Then came along SearchMonkey and OpenCalais and I was square in the positive camp. I officially flip-flopped and I’m not ashamed to admit it.
While researching SearchMonkey, I was led to Swoogle. I became excited about Swoogle for a couple of reasons: 1. It is a semantic search engine; 2. It came out of my alma mater, UMBC. I was thrilled to learn that my medium-sized, liberal arts school grew up to be an Honor’s University researching semantic web technologies. I felt like I just reconnected to one of my former lives…
That reconnect was quickly lost. After reading the multitude of web pages that discuss Swoogle, I found a web page that states the project ended in December 2006. Was Swoogle a victim of being ahead of its time? Did it fail? I have no idea because no one from Swoogle replied to my inquiry. I tried contacting a Swoogle researcher and was rewarded with silence. What happened to Swoogle? I started slowly leaning back to the negative camp.
And then along comes CrunchBase, who released what some have called an “awesome API.” I learned about the CrunchBase API from reading a blog post with the title, “Semantic Web by Example.” A title like that always catches my attention. As I’ve said before in this blog, we need more examples of semantic web technologies. And it looks like developers are heeding the call.
I’ve decided to ride the semantic web fence. Where do you side with semantic web technologies? Are you in the positive camp or the negative camp? Share your thoughts in the comments.
When I started with DevX, I knew nothing of the Semantic Web and the technologies that surround it. As I researched the subject, I realized that while a segment of the developer community was heavily touting semantic technologies (ST), that everyday use was still three-quarters of a mile out of reach. One of the main issues surrounding ST is a lack of available functionality for the user. Sure, I’ve seen lots of examples, and lots of demos, but nothing grabbed me that made me say, this is way cool, this is something I could use. That is, until now.
Today, DevX posted an article by James Leigh that describes how to get started with OpenCalais and SearchMonkey. These tools offer functionality that could be used by developers and the public. The OpenCalais tool (OpenCalais 2.1 just went live), offers a means to create metadata that describes a document’s content. And who of us in this blogging world, who realizes that content is king, would not find something like that useful? Especially if it means that authors and editors no longer have to manually create metadata, and instead, a tool can extract it for us. To me, that’s awesome.
SearchMonkey, as we all know by now, can enhance how your site appears in search results. And who in this business-minded world does not want control of their marketing and branding; especially in a front-line environment like search engines? Stay tuned to DevX for an upcoming article from Peter Mika entitled, Semantic Search Arrives to the Web.
With the advent of Calais 2.1 and SearchMonkey, it appears that ST can become a must-have tool in a developer’s war chest. I encourage you to read James’ article and to research these tools more.
Yesterday at JavaOne, Sun Microsystems announced support for the BDLive.com Developer’s disc. So, what is BD Live? It consists of software and network services that allow the quick creation of user-friendly DVD-like experiences. You can find a link to the free developer disc on www.apifinder.com (supplies are limited).
The developer disc includes sample code, definition of available API’s, and allows for collaboration. This includes the ability for developers to download each other’s applications to their home theater.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |










