The Artima Developer Community
Sponsored Link

Java Buzz Forum
The tale of making Zesty News cross-platform

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Kevin Dangoor

Posts: 1101
Nickname: tazzzzz
Registered: Jul, 2003

Kevin Dangoor is a developer with JSTOR
The tale of making Zesty News cross-platform Posted: May 11, 2005 7:57 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Kevin Dangoor.
Original Post: The tale of making Zesty News cross-platform
Feed Title: Blue Sky On Mars
Feed URL: http://www.blueskyonmars.com/feed/?cat=8%2C13%2C14
Feed Description: Kevin Dangoor's Weblog of Technology, Entertainment and Life - Java only feed. For all articles, check out http://www.blueskyonmars.com
Latest Java Buzz Posts
Latest Java Buzz Posts by Kevin Dangoor
Latest Posts From Blue Sky On Mars

Advertisement

As I mentioned earlier, Zesty News has a browser-based interface. But, Zesty News is not a web-based program: it’s a desktop application. You install it on your computer and access the program through your web browser.

So, I get to deal with the intracacies of cross-browser compatibility and the deployment aspects of a desktop application. Joy!

But, it goes beyond that. While I can imagine telling a geek friend, “yeah, you just point your browser at http://localhost:xxxx and there you go!”, I can’t imagine telling a normal person that. I certainly can’t imagine selling a product like that. That would just be irresponsible product management. My goal was to have just enough native GUI to give people easy access to Zesty News, and do everything else in the browser. I also decided early in the process that I am only targeting modern and mainstream systems, at least to start with. Here’s my supported platforms matrix:

 Windows XP1Mac OS X2
FirefoxYesYes
SafariWaiting for Apple on this oneYes3
Internet ExplorerYes4Blech

1 In all likelihood, Zesty News will run on any 32-bit Windows. That’s not part of my initial test plan, though, so I don’t want to guarantee that.

2 OS 10.3 and 10.4

3 My testing will be with the latest version of Safari that comes via Software Update. This means 1.3 on Panther and 2.0 on Tiger.

4 My testing is with IE6. It is quite possible that IE5.5 will work as well.

Limiting things like this certainly reduces the cross-browser issues. There are some tricky bits, but Firefox, Safari and IE6 are close enough that I don’t spend all of my time just dealing with browser inconsistencies.

The question then becomes: what is “just enough native GUI”? It turns out that there’s not a lot of native GUI necessary, but that work does extend to providing something for every browser in addition to each platform.

Remember how I said that I couldn’t imagine telling all of the non-techies to go to http://localhost:xxxx? I have a couple of solutions for this. On both Windows and Mac, firing up Zesty News automatically opens the browser to Zesty News. But, that’s not a complete solution: people leave news aggregators running all the time. On Windows, as you’d expect, you get a taskbar icon taskbar image that you can just double-click to get Zesty News to popup in your default browser. Whew! Something that “just works” with multiple browsers. The right-click menu also includes the ability to quit Zesty News (but why would you want to do that?):

menu image

As of this writing, the Mac interface isn’t quite as slick. That will change somewhere along the way. On the Mac, you can use cmd-Tab to hop over to Zesty News:

cmd-tab view

Once there, you can use the menu to launch your default browser to the right place:

Zesty Mac menu

Of course, you can also add a bookmark to Zesty News in your browser, given that the Zesty News software is just sitting at a URL you can point to.

Just opening Zesty News isn’t all that’s needed, though. The other key feature that’s needed when not looking at the Zesty News interface itself is the ability to subscribe to new feeds. Firefox 1.0 added a nifty feature to handle this, and the open source Feed Your Reader tool by Michael Koziarski made it easy to subscribe to feeds in Zesty News from Firefox.

zesty firefox

That’s dandy for the 10-20% of web surfers who are using Firefox. But, what about the 80% who run IE? Zesty News includes an IE toolbar that scans for feeds and makes it as easy to subscribe as it is in Firefox:

zesty ie

With Mac OS 10.3.9, things aren’t so pleasant. Registering Zesty News as a reader for the “feed://” protocol is easy enough (just add it to the info.plist file). But, with 10.3.9 (and Safari 1.3), Apple took over so that Safari would display a message saying that you need to upgrade to Tiger/Safari 2.0 to do RSS. Ugh.

Zesty News has a “Browser Setup” screen that includes an option to make Zesty News your default feed reader. Unfortunately, there’s no documented way to do this under Mac OS 10.3! Under Windows, you just set a couple of registry entries and you’re done. Carl Lindberg, author of the excellent RCDefaultApp, gave me some tips on the undocumented, private APIs to do this. I haven’t had a chance to do it yet, though.

So, the net of all of this is that Safari 1.x doesn’t have a fancy way to detect and subscribe to feeds right now. However, Zesty News has a Feed Finder bookmarklet that should work in most modern browsers, and that makes it pretty easy to subscribe to feeds.

Of course, Mac OS X Tiger makes this all better. Safari 2.0 detects feeds along the way and provides an easy subscription mechanism that will work with Zesty News. (I haven’t installed Tiger yet, so I haven’t tested this. From what I’ve read, this should work fine, though.) Safari 2.0 also lets you change your default feed reader in much the same way that Safari 1.x lets you set your default web browser.

That seems a little backward to me, though. You really should be able to tell an application “I want you to be my default”, rather than having to run some other application which happens to do the same thing. Carl Lindberg reports that Tiger provides public APIs for setting defaults for file types, but not for URLs. And, of course, the private APIs have changed between Tiger and Panther.

Before Zesty News 1.0 final is released, I’m going to straighten out the Mac support to fix all of this. It’s ironic, because I use the Mac for all of my work except for Windows-specific development and testing.

Overall, making Zesty News cross-platform and cross-browser has not been too painful. There have been some days where I’ve been pulling my hair out over one little thing that works on one platform but not the other, or weird APIs or strange compilation problems. But, I feel much better about having a cross-platform Zesty News so that I can support the increasing number of folks running Mac OS X and the masses running Windows.

Read: The tale of making Zesty News cross-platform

Topic: SMEX-D Previous Topic   Next Topic Topic: It Must Be Official

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use