Java is “Dead as we know it”
Paul Browne has written a follow-up to his article about how Java is “dead as we know it”: Java and those pesky Google APIs. Apparently the feedback was pretty negative to his first article. However, the guy has the right idea.
Its really not as drastic as some people want to make it sound (probably most of them are worried about their own job). I think relating this story to how things get done today might help get the idea across.
Today with many projects, there is an architect or a small group of people who are charged with creating and maintaining the API and/or frameworks for the application. In these types of projects, there is typically a much larger group using those APIs and frameworks to actually implement functionality for the client. For the sake of argument, let’s say the proportion is 20% API developers and 80% functionality developers.
Throughout the 90s, the most robust standard that would allow you to actually take advantage of this set-up was Java. Furthermore, all the tools and collaboration made it work great. However, everything basically had to be Java (for example, passing Objects along in your Request to the JSP).
Now there is a new standard that accomplishes all of those same goals, and it is web services. The platform of web services is a standard that can accomplish these goals but is much less restrictive (everything does not have to live in the JVM).
As a result, while the 80-20 dichotomy will probably be mostly unchanged in proportion and concept, it will be greatly impacted in implementation. Much of that 80% will not need the heavy solutions that we have created in the past.
However, that 20% will probably continue to look to Java to implement the robust applications that we need. Furthermore, making java open source will put it in a position to keep pace with the offerings of these newer technologies while leveraging the huge embedded base of developers that already know the platform.
Putting Tagging in Context
So, I’ve been actively using del.icio.us for about two weeks now (just long enough to know how to spell it without double-checking). Being the eternal organizer that I am, I’ve already realized my tags were in need of some, errrr, refactoring. So, I went for it and the results were: O man – this isn’t easy.
Basically, it reinforced by belief that tags need a context. Just using a big cloud of tags causes me trouble. I think the trouble bares itself out when I’m deciding which related tags to use for an item. For example, if I’m about to tag something as Ubuntu, should I also tag it with Linux? Isn’t that relationship somehow implied already and thus, following data/object modeling techniques, it shouldn’t be “stored”?
I’ve always believed that the beauty of tags is that we break out of the often unnatural “everything has a hierarchy” mold. For example, back in college I was the webmaster for my lacrosse team. I wasted many a brain cycles on deciding whether or not the game summary belonged under the “News” section or the “Games” section. Looking back, it was quite obviously both and tagging would have solved the problem.
On the other hand, the ugliness of tagging is that we now have a “nothing has a hierarchy” problem. For example, I tagged an entry about wine (the “emulator“) on Ubuntu with the tag “wine”. You should see where I’m going with this . . . what happens when I want to tag the cork’d website with “wine”? Well, that’s an ambiguous tag (and of course, look at the title of this blog to see what I think about that).
Where’s the middle-ground? Tags need a context! This is kind of where the del.icio.us bundles go, minus some important features. For example, if I have a web2.0 bundle that includes aggregators, SaaS, mashups, etc., there will obviously be times when I just want to pull-up all the links in web2.0. Unfortunately, the bundles don’t work like that. If they were themselves tags, or at at least treated like them in del.icio.us searches, I think the “tags are related” problem would be solved. Further more, I’d really like to tag web2.0 with “horriblemoniker” – but that’s for another post.
A different problem is in tagging an item with a location. If you want “37.80327385185865, -122.25723266601562″ to mean anything, you’d have to know that tag is a type of location of the longitude, latitude variety. This is the same problem with the aforementioned “wine” tag: some tags aren’t nearly as useful if you don’t know their type. Do tags need namespaces? Carrying that argument to its logical extent, can some tag namespaces have exclusive owners?
Upon writing this, I’m realizing this is an age-old problem of sorts. I’ve seen it first hand in attempts at “dotted-line reporting” in the context of business organizations or “multiple-inheritance” in the OOAD context. I would bet this is quite an issue in the context of biological sciences.
So, who’s solving this problem? I’m sure there are a ton of resources out there that have waxed poetic about this, so please show me the light.
Is the iPhone the future platform of mobile computing?
So, I agree that the iPhone is awesome, but is it really worth all these articles flowing through to my RSS reader? I was on the fence, until I read the following comment left under this flickr photo:
“This is an incredible phone . . . imagine how fast apps will be created! This is MacOS X in a phone!!”
LIGHT BULB! I suddenly remembered how much I’ve been moaining about the difficulty to put useful apps on your cellphone, even to the point of touting the Qtopia Greenphone. Could this be the first mobile platform to gain traction in “the community”? If it does gain traction in that sense, will we be able to load our own non-Apple DRMed media software?
I’m excited – and skeptical. Maybe the best solution is to throw a linux distro on there!
By the way, that size comparison app in the photo looks pretty cool.
2006’s Video-on-Demand Success is . . . Xbox?
Why are we having so much troubling converging the internet and the TV? Form-factor seems to be a major issue. It makes sense then that a gaming console might be the right gateway to get it done. That seems to be proving true with the success of XBox Live’s video download service. M$ has been trying to make this happen since WebTV, but somehow I doubt they predicted the XBox would be the one to have the first success.
A2DP – THE Convergence Solution for MP3 Players, Cell Phones, and More?
My Wife has wanted an iPod for quite a while now. I’ve talked her out of it several times specifically because Apple has thousands of people more-or-less “leasing” music from the iTunes store. Being a bit of a technology evangelist, “vendor lock-in” is practically heresy to me. [As a side note, if I had just gotten an iPod in the first place, we'd've had a couple years of enjoyment by now that would have made the whole "future-proofing" approach I've been taking irrelevant]
There’s no doubt it is a pretty slick device, but that’s never been enough to get me to give in. What really started to turn my head though were all of these cool gadgets that integrate with the iPod. All-in-all, its been a very subtle embedded device revolution of sorts. But ultimately, these extra gadgets you buy for your iPod are the utmost in vendor lock-in. What are you going to do with that “iPod dock” when your next cell phone has a 2GB MP3 player built-in?
A2DP Bluetooth Profile to the rescue! Seriously, why aren’t more people talking about this? If it all works out, it makes integration of music players to stereos, computers, etc. standardized and wireless. Read the rest of this entry »