The Source for Java Technology Collaboration
User: Password:



Editor's Daily Blog

The Network is the computer

Posted by daniel on May 02, 2005 at 09:56 AM | Comments (5)

Why is it in Tiger but not in Tiger

Chris Adamson and I were IMing yesterday using Apple's iChat client. We had each installed Tiger (Mac OS X 10.4) as soon as it arrived and he had selected a status option that reported on what song he was listening to in iTunes at the time. Next to the song was a tiny little arrow. Having no more sense than Alice in Wonderland when confronted with things labeled eat or drink me, I double clicked on the arrow. Whoa - iTunes opened on my machine and took me to the page in the iTunes Music Store for the album he was listening to.

It's not exactly through the looking glass - but consider what happened. You can assume network connectivity because you can't be chatting without it. You can assume both people are running Tiger because the advertisement can't be made unless the person listening to music is running Tiger and the triangle doesn't even appear if the person viewing isn't. Therefore the person who sees the triangle must have both a network connection and a copy of iTunes installed. A click on the triangle allows them to preview music that can befound in the iTMS and, of course, purchase it. It's like the way in which many of us have used Amazon to look up details on books and then maybe bought from them or from somewhere else.

This makes me so angry.

Not at Apple - but at Java. I admire Apple and am committed to using their products. Look around the Apple Tiger release and you will see the network featured everywhere. Xgrid allows every Tiger machine to participate in grids working on parellelizable problems. The "i" in iChat, iTunes, iPhoto, etc stands for internet and each has embraced connectivity. Connecting to printers and other devices is trivial with Bonjour (previously Rendezvous) built in. The Xcode IDE supports distributed builds by taking advantage of cycles on nearby machines that are not being stressed. Dashboard widgets bring little bits of information to my computer in attractive and configurable ways. The weather for where I am and where I'm going next, a dictionary or thesaurus, a flight tracker, and even the wikipedia. You can do these in your browser and bookmark them - but what changes if you assume connectivity and that people want an attractive and focused UI.

Chris has often pointed out that Java on the desktop can not be considered successful as long as our success stories are IDEs and other developer-centric apps. Where are the cool things for the kids? Java is ten years old - the desktop should be rocking.

For me the issue is the network. Apple has assumed the network in ways that Java was set up to do. And just as Apple apps could check for and take advantage of Mac Tiger being on both sides of the wire, Java apps could do the same. Jini, JXTA, Java Spaces, the Java APIs for Rendezvous - the Java community could have owned the space of networked desktop applications. Instead of a "me too" with JSPs because there were ASPs and throwing resources at the WS-* stack, why not be a "me first".

Java was created with the network in mind and that shouldn't just mean "session beans". I've been to a ton of talks where Sun engineers explain why the Apple technologies aren't robust enough. Shipping is a great step on the path to good enough.

This is the first in a three part rant. On Wednesday I'll talk about client apps and on Friday about devices and the server side. I'd love to see people as excited when Mustang releases as they were when Apple released Tiger.


Stanley Ho is looking for your feedback in his post Deployment: Goodbye Scary Security Dialog Box! in today's Weblogs. " The promoted Mustang build 34 contains the putback of the new security warning dialog box for Java Web Start, and you can download it today! "

Michael Nielson blogs on " GPL vs Invention rights, aka New employee fear of asking the wrong questions vs. continuing open source projects... I don't have an answer. Just this sort of uneasy feeling. "

Lance Anderson notes that The jmsgenericra project launches today! "J2EE 1.4 specifies the use of the Connector 1.5 Architecture as the basic mechanism to integrate JMS providers with J2EE 1.4 compliant application servers."

In Mac Tiger news, Joshua Marinacci blogs that Mac OS X 10.4 has arrived, with a Hi-Rez secret. "Tiger includes a Scalable User Interface! It's turned off by default and only configurable with their debug application, but it works."


In Also in Java Today , Jason R. Briggs is giving ornate web application frameworks a REST by adopting the "RESTafarian" principles typified by the Web itself: a stateless client/server protocol, a small set of well-defined operations, a universal syntax for resource identification, and a banishment of Remote Procedure Call-like concepts like SOAP and RMI. In The REST of the Web, he shows how to combine the REST concepts with Jython and Velocity to create lightweight and flexible web applications.

Kode Vicious answers a question about why it's not enough to encrypt connections between users and a web service in Sincere and Authentic . Vicious explains that in the case of a music web service, "The music does not need to be kept secret because it is unlikely that someone is going to steal it by sniffing it from the network. What is more likely is that someone will try to log into your users’ accounts to listen to their music. Users will prove who they are by authenticating themselves to your service, most likely via a username and password pair."


In Projects and Communities, the GELC welcomes new open source projects that include liber-theses, jrapido (a bliki), JMockgen, Information-Agents, Copycat (notepad for text and voice), Compression, CNLangParser, and Checkboxes (display currency).

The JavaPedia page on Mock Objects contains links to open source projects for mocks including jmock, mockrunner, mock creator, and easy mock. Add your links to articles about using mock objects and post your thoughts on using them.


So What future for Java on OSX ? In today's Forumsbjb writes "I am realy worried about the future of Java on Mac platforms. As discussed in a previous post, ss there any plan to go and ask Apple if they would contribute their code to the Mustang developement tree ? [..] This is an really major point if we plan to revive the client side of Java with mustang. "

Furbotto asks why we can't making the system lnf the default ?. "Sun says that jdk 1.6 is focusing on "ease of use", so why not making the system look and feel the default ?[..] I'm sick of seeing swing applications running in windows using the metal or ocean look and feel! these apps don't fit in the windows desktop, they look "out of place"!


In today's java.net News Headlines :

Registered users can submit news items for the java.net News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to thejava.net News RSS feed.


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • I don't understand it either...

    Java makes seamless network integration between Virutal Machines so easy, and transparent. At our project, we like to point out that any object can be made remotely callable with just one additional line of source!

    There really is no reason why all Java applications should not spontaneously and dynamically interoperate.

    Posted by: cajo on May 02, 2005 at 08:35 PM

  • I think a lot of people will feel your pain, Daniel. Java has pretty much always been a fabulous platform for building distributed networked applications with rich user interfaces. And it's been obvious to some of us that distributed applications with rich user interfaces were an important part of the future for a long time.

    But it's not easy for Java here. A big part of the problem is that designing great user interfaces is something that almost all developers find hard (no matter what the programming language). The issues surrounding great design - understanding people, and how people interact with "things" in a deep way - are areas that most developers (even ones specialising in GUI development) have a really poor understanding of.

    And so, it's bad enough when an average developer build their app using native Windows, MacOS or Linux developer tools. But when they use Swing (which is a wonderful GUI toolkit, BTW) - it's too much for them to deal with. And so people end up building some spectacularly bad Java GUIs!

    And as if this wasn't bad enough - you want average developers using Java to go up against Apple ;-) Apple is a company with a world-leading understanding of design. Being pragmatic, I think there was only gonna be one winner there (which is a key reason I think Sun should have partnered more closely with Apple in the late 90s... but that's another story).

    BUT... it's not all doom and gloom ;-) Apple has a tiny percentage of the market share for desktop computers. The real battle is with Microsoft and the cross-platform toolkits that have gained popularity with the Linux community. And those guys most certainly do not understand what great design is all about.

    So, we still have a change. How should the Java community move forward towards world domination in the field of rich, networked desktop applications? Education has to be a big part of the answer; and I think a great start would be if many more Java developers read and inwardly digested a book called The Humane Inteface by the late, great Jef Raskin. It's a book that has the power to fundamentally change the way developers think about user interface design.

    Posted by: psynixis on May 02, 2005 at 08:48 PM

  • The issues surrounding great design - understanding people, and how people interact with "things" in a deep way - are areas that most developers (even ones specialising in GUI development) have a really poor understanding of. And so, it's bad enough when an average developer build their app using native Windows, MacOS or Linux developer tools. But when they use Swing (which is a wonderful GUI toolkit, BTW) - it's too much for them to deal with. And so people end up building some spectacularly bad Java GUIs! And as if this wasn't bad enough - you want average developers using Java to go up against Apple ;-) Apple is a company with a world-leading understanding of design. Being pragmatic, I think there was only gonna be one winner there (which is a key reason I think Sun should have partnered more closely with Apple in the late 90s... but that's another story). BUT... it's not all doom and gloom ;-) Apple has a tiny percentage of the market share for desktop computers.
    For outsourcing voice, chat, email or back-office support, visit the website of Aumenta Call Center, India.
    http://www.aumenta.cc

    Posted by: inboundcallcenter on May 11, 2006 at 01:06 PM

  • The issues surrounding great design - understanding people, and how people interact with "things" in a deep way - are areas that most developers (even ones specialising in GUI development) have a really poor understanding of. And so, it's bad enough when an average developer build their app using native Windows, MacOS or Linux developer tools. But when they use Swing (which is a wonderful GUI toolkit, BTW) - it's too much for them to deal with. And so people end up building some spectacularly bad Java GUIs! And as if this wasn't bad enough - you want average developers using Java to go up against Apple ;-) Apple is a company with a world-leading understanding of design. Being pragmatic, I think there was only gonna be one winner there (which is a key reason I think Sun should have partnered more closely with Apple in the late 90s... but that's another story). BUT... it's not all doom and gloom ;-) Apple has a tiny percentage of the market share for desktop computers. For outsourcing voice, chat, email or back-office support, visit the website of Aumenta Call Center, India.
    http://www.aumenta.cc

    Posted by: inboundcallcenter on May 11, 2006 at 01:10 PM

  • Java makes seamless network integration between Virutal Machines so easy, and transparent. At our project, we like to point out that any object can be made remotely callable with just one additional line of source! here really is no reason why all Java applications should not spontaneously and dynamically interoperate. For outsourcing voice, chat, email or back-office support, visit the website http://callcenter.ramshyam.com But when they use Swing (which is a wonderful GUI toolkit, BTW) - it's too much for them to deal with. And so people end up building some spectacularly bad Java GUIs! And as if this wasn't bad enough - you want average developers using Java to go up against Apple ;-)

    Posted by: callcenter on May 23, 2006 at 05:27 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds