Jul 242006

Last week I had a need to build a web application prototype for work, and a real user who I could discuss requirements with. Basically, she needed a relational database with a web front end. Of course, I was thinking AJAX, and built the HTML mockup of the design with those types of interactions in mind.

I pretty much knew I was going to use GWT to implement it…I’ve been wanting to dig in to GWT, and here was a perfect opportunity. Also, in a comment from a prior post, I learned that a new beta of my favorite IDE, IntelliJ IDEA, had just built in a GWT integration. Freakin’ sweet!

So off I went. I built a single GWT module with a form that reacted dynamically to events occuring in several controls. The cool thing was that I had my page design in HTML, and I was able to just add an id to certain table cells with a name that I could refer to within my GWT code. This enabled me to just pick my spot, build my control in Java using the GWT API, and add it to the page. Very nice.

By attaching change listeners on list boxes and click listeners on buttons, I was able to control the entire page whenever an event occurred. Of course, this was all done using Java, and GWT took care of translating it into cross browser compatible JavaScript.

Or so I thought. This was the first noticeable problem I encountered. I had the application running very smoothly in the browser tool that is built into the GWT toolkit, but it did not work in IE, Flock, or FireFox. Quite honestly, it didn’t matter too much for me since I was just building a proof of concept. If you’re part of the GWT crew, ping me and I can look into it further so as to isolate the problem.

The next big problem I had with it is that there was no way that I could see to set the value of a list box to something other than what it displayed. So for example, if I had a list box that contained different products for the user to choose from, I might want the actual value of that list box to be the primary key id from the database for that product. Without the ability to do this, my application loses data integrity. Maybe two products have the same name! What should I do then?

This next one really bugged me quite a bit: I couldn’t figure out how to build multi-page applications within a single GWT module. I know this was a limitation of the IDEA integration, and they’ve filed a bug about it. Again, I didn’t try too hard to figure this out due to the time constraints I had to complete the prototype.
Also, I could not figure out how to obtain multiple values from a multi-select list box. Granted, I didn’t tinker with the API regarding this point, but it certainly wasn’t obvious to me that it was possible. I would have expected a getSelectedValues() method that returned a List to be available as part of the ListBox class.
Finally, GWT does not currently support the use of java.util.Calendar. Instead, you have to use the deprecated java.util.Date class and its deprecated methods. Not a really big deal, except that it makes me feel dirty. I hope they add support soon so I can fix that code!

So overall I’m pretty pleased with GWT, despite the various problems I’ve found with it. Of course, these issues may be the result of my own ignorance…but I digress. GWT saved me from having to fiddle with JavaScript (which has tended to piss me off in the past, particularly when trying to support multiple browsers), took care of all serialization between the client and the server, and had a very easy to work with API. Once I had the AsyncCallback interface in place as per the demo from JetBrains, I was rockin’ and rollin’.

If you’ve worked with GWT, what are your impressions?

Blogged with Flock

Jul 162006

For once, I’m not using my laptop, and as a result, I had a realization. I want to check my news from this computer, but my feeds are not set up here.

I love Flock’s news reader, but from this computer, I can’t use it! I’d have to set up my feeds all over again!

So here’s my suggestion: Integrate flock with both newsgator online and rojo.com, and give users the option to set up their feeds using either of those services as a source. Also, every time a feed is added, they should be added to one of those services as well.

That’s a good one, if I don’t say so myself. I’m hoping the folks at Flock agree, and that we’ll see it in the next beta.

Blogged with Flock

Jul 132006

After just having read an article at Knowledge@Wharton on the subject, I’m still left wondering really, where is the value of internet video?

Forget about the business models…there first has to be something of value for consumers, which I have yet to see.  The most revolutionary thing I have seen thus far related to the space is TiVo, and that’s really just TV show listings over the internet and a hardware/software combo that records shows.  With this people don’t need VCRs any more; TiVo (or any digital video recorder) can record all of your shows for you, and even suggest similar shows that you might like.  Playback happens using that device without the need for video tapes.  This is real value.

Getting back to internet TV, I still don’t get it.  Yeah, I’ve seen “The Easter Bunny Hates You”, and yes, it is funny and entertaining.  In all likelihood though, I would have gotten an email from one of my friends about it without the need for YouTube or Guba.  These sites are great if you want to waste time flipping through user uploaded video clips in search of something entertaining.  But in reality, I’ve got better things to do.

Guba is a little different though in that it allows you to purchase licensed videos of movies that were released to theaters and DVD.  This still doesn’t cut it for me.  I don’t want to watch full feature length films, or even 30 minute television shows on my computer.  Sure, I could be tech slick and figure out how to hook up a computer to my TV, but again, I’ve got better things to do.  Even if I did hook it up, my bet is that those videos that you can purchase do not show in high definition.  The move from regular TV to high definition – that is real value.

Personally, I’m anxious for the time when I can use my DVR to peruse a mega library of archived television shows dating back 50 years, and every last one is available in high definition with surround sound for download/streaming.  That’s real value.

Finally, I can’t wait for the day that all I need is a single network connection that costs me ~$20/month that I can use simultaneously for my VoIP phone, live or archived high definition television, and internet access.

What do you think about internet TV and it’s prospects?

Blogged with Flock

Jul 052006

Recently I purchased and began reading “The Fifth Discipline: The Art and Practice of the Learning Organization” by Peter Senge, as I was doing some work on developing processes for organizational training as per the requirements of CMMI. I was hoping to gain insight into how to design a training program for our company which thrives on learning and continuous improvement. Instead, I learned about a whole new area of interest for me: systems thinking.

As an experienced software developer, I’ve learned to employ design patterns in certain situations to create well understood and easily maintainable programs and components that transcend my own understanding. When you see a singleton pattern in use, you know what it is. When you discuss implementation approaches and call out the command pattern by name, the details are well understood.

When I came across the concepts of systems thinking and system archetypes such as the ‘limits to growth’ archetype, I was very excited to learn that such concepts existed. Immediately I thought, these are design patterns for business! By giving names to these patterns of behavior and the tools to model them, business systems can be clearly communicated to anyone. Those who are familiar with these concepts will know exactly what you mean when you utter the phrase ‘shifting the burden’ and indicate a problem symptom and a fundamental solution.

Needless to say, I’m excited to master these concepts and those that build on top of them. In my head, I’ve discovered a whole new set of ‘design patterns’ specifically geared towards communicating and solving business problems. Stay tuned for more on this subject.

technorati tags:

Blogged with Flock

Jul 042006

I came across this article today and was a bit taken aback.  What it says is that Photobucket (which I believe is an image sharing site) has released its own version of the new Flock browser which specifically removes support for Flickr and adds support for its own service.

Certain things strike me as odd about this:

  1. Why wouldn’t Flock just release itself with support for both Flickr and Photobucket?
  2. Does Photobucket really think that this maneuver will gain them a broader user base?

First of all, if Flock doesn’t release it’s next beta with support for both Flickr and Photobucket, I’ll be quite surprised.  Surely Flock is concerned with growing its user base; segragating its market serves them no economic advantage as far as I can see.

As for Photobucket, if they are the ones offerring the browser to their current user base, how does this help them whatsoever?  Those people are already using Photobucket!!!

So why do I care?  Well here’s the thing.  There are so many freakin’ photo sharing sites out there, I don’t know which one to use.  I’ve got my stuff on Riya currently, but that’s not integrated with Flock.  And yes, I want it all damn it.  I know of several other services that I have not really tried, like Yahoo Photos, Flickr, Photobucket, and a few others.  If I end up using Photobucket, I want it integrated with the standard Flock browser, not some half assed branch from Photobucket themselves.

Anyway, if anyone has any reccomendations on what is the very best photo sharing site and reasons why, I’d love to hear them.  Riya is cool, but it comes up short in my opinion.  I’d like to hear about what’s better and why.

Blogged with Flock

Jul 032006

Flock: The web browser for you and your friends.
So I spent the week getting more familiar with this new browser called Flock. Here’s the deal: the favorites manager is freakin’ fantastic, the news feature is great, and the blog feature is pretty tight. Granted, I haven’t fiddled with Flickr much by itself, and thus I haven’t tinkered with Flock’s integration with Flickr. But if the integration is anywhere near as nice as what they’ve done with syndication (RSS) or favorites management, I’m sure everyone will be pleased.

So let me get a little more specific. I was just reading through some news using the ‘My News’ feature of Flock, and I came to a realization: Flock is sweet! Finally, I’ve found an RSS reader/aggregator that I can live happily with. I’ve tried integrations with Outlook, rojo.com (which is painfully freakin’ slow), newsgator, and RSSOwl. I’ve been displeased with all of them (which may in small part be due to my own lack of comfort with where I prefer my news to be aggregated). Flock makes it easy. If you’re on a site that syndicates its content, you’ll see the RSS symbol on the right side of the address bar. Click on that icon, click on the drop down, then drag the ‘subscribe’ image to the category you want it in on the left sidebar. Done. I’ve got all my stuff in there from engadget and techcrunch to Knowledge@Wharton, woot, and ESPN.
Now, the favorites manager is really nice; probably the very best thing about this browser. Even better than del.icio.us by itself. Not only can Flock seamlessly enable you to save and tag your bookmarks to del.icio.us, but its got the best bookmark search feature i’ve ever seen. When you go to del.icio.us and look for something, you generally look by clicking certain tags. Flock allows you to search by keyword, which could be a tag, a part of a URL, the title of the bookmark, or part of the description of the bookmark that you entered when you saved it. When no search terms are entered, Flock shows you all of your bookmarks. If you’re looking for something in particular, just type in a related keywork, and Flock pairs it down for you, showing only what is relevant after each keystroke. It’s very responsive. Great, great feature.

Now currently I’m typing this blog post using Flock’s blog integration. I dragged the flock image from flock.com to the snippet bar at the bottom of the browser, right clicked it and said ‘blog this’. Flock opened up the blog window and inserted the image for me. Nice! Standard formatting tools are available, and I have the option to publish this post to any number of blogs. The only thing lacking here is that I’d like to have the ability to publish to more than one blog at the same time. Hey Flock guys, can you hook this up?

In summary, Flock rules. If you don’t use it yet, you’re missing out. Go get it now.

Blogged with Flock