Fork me on GitHub

Vienna 3 BETA with Google Reader Synch

UPDATED Jan 2nd 2012 : download link has been updated and refers to 3.0.0 Beta 8

Since I transferred Vienna’s development to GitHub, we have been getting lots and lots of great contributions to the project. Chief among new contributors are Salvatore Ansani and Barijaona Ramaholimihaso. Their work has led to a new release of Vienna, which you can now download here:

Download Vienna 3 BETA

They have been working on a slew of bug-fixes and improvements (Google Reader support!) that you can now find in Vienna 3 BETA:

3.0b.2819

  • Fix other nasty crashes on Mountain Lion

3.0b.2818

  • Fix some nasty crashes on Mountain Lion which occurred when closing tabs
  • Fix the “Check for newer versions of Vienna at startup” preference
  • Make the knob of the vertical scrollbar more visible when reading long lists on Lion/Mountain Lion
  • Other minor bugfixes and code cleaning

3.0b.2817

  • Fix fetching of icons associated to feeds.
    Note : users of previous versions are invited to use the “Refresh Folder Images” menu item
  • Better accessibility for people with visual impairment through VoiceOver
  • Completely logout from Google Reader when the “Sync with Google Reader” preference is unchecked
  • Builds are now signed with Developer IDs delivered by Apple, to meet Mountain Lion’s Gatekeeper default requirements.

3.0b.2816

  • Google Reader support ! Each feed can either be local (especially authenticated feeds, which are not handled by Google Reader), or hosted on Google Reader
  • 64 bit support
  • Full Screen support on Mac OSX Lion and Mountain Lion
  • Fixes running on Leopard and on PowerPC
  • Fixes feeds whose titles are XHTML or contain linefeeds/carriage returns
  • Fixes Atom feeds with relative links
  • Stay on Discrete Graphics mode on Macs having dual graphics cards
  • Improved web browser experience (persistent cookies)
  • Some functions which were only available on Report or Condensed layout are now available on Unified layout
  • Increased timeout for feeds refresh
  • Larger use of multi-threading
  • Compiled with LLVM
  • Binaries are now signed to avoid blockade by Mountain Lion’s gatekeeper default settings (for first run, you’ll have to right click and select ‘Open’)
  • Many other bugfixes
Comments Off

2.6 out of beta

2.6 has been stable for a very, very long time – so I’ll just make it official :-) One small but handy thing that I added is a plugin for effortless sharing with Buffer. It’s a very useful service that has popped up between the beta release and now – check it out and have fun!

Vienna 2.6 supports user-creatable plugins

Click to download: Vienna 2.6

Vienna development moves to GitHub

As of yesterday, Vienna development happens over at GitHub. All our Subversion commit history going back to 2005 was migrated into a new Git repository. The trunk will now always contain the version currently being worked on. Source for all previous releases will be available as separate tags (2.0.0 to 2.6.0).

To get the latest source, simply paste the following into a shell prompt:

git clone git@github.com:ViennaRSS/vienna-rss.git

To do this, you will need an up-to-date version of the Git version control system. I recommend installing it via homebrew, an awesome package manager for Mac OS X. Alternatively, you can use GitHub’s freely available GUI client: GitHub for Mac. The latter will also optionally install the command line tools for you.

Have fun :-)

Vienna 2.6 BETA

Steve Palmer just posted some information about Vienna 2.6 BETA to the forums. Read the release notes and then go and download it here. Please note that this is unsupported pre-release software.

New Developer – Curtis Faith (and a sneak peek)

Today, we would like to introduce a new contributor: Curtis Faith (a.k.a. inflector on the Forum). He’s not only a very interesting author but also, it turns out, a great programmer. You can download an alpha version of Vienna 2.6 that includes a handy new feature added by him: Full Web-Page Feeds. This is very handy for sites that only put headlines or very short summaries in their feeds. You can now set those to immediately load the associated web-page in the reading-pane:
Full Web Page Feds

Comments Off

Thanks

Thanks go to Tobias Ratschiller (PHP Black Belt, 10th Dan) and his company Senza Limiti. He just made a contribution to the project which will help support continued development. He’s also an all-around nice guy, which is a bonus ;-)

Comments Off

Vienna 2.5 – The Social Sharing Edition

The Vienna Dev Team is proud to announce the release of Vienna 2.5. Among other things, it adds extendability via a new plugin development API and fixes a small number of bugs. To be more precise, the new plugins make it extremely simple to extend Vienna with sharing capabilities that leverage social networking sites like Facebook and Twitter. Special thanks go to Curtis Faith, who contributed bug fixes for this release.

Vienna 2.5 supports user-creatable plugins

Click to download: Vienna 2.5

Requirements

This release requires Mac OS X 10.5 (Leopard) to run.

Changes

  • User Interface refresh: Removed the grey headers, made the vertical divider easier to grab and made filtering more discoverable.
  • Added support for plugins.
  • Added support for search engine plugins and the ability to do web-searches from the toolbar.
  • Added support for blog editor plugins.
  • Added support for sharing plugins that work like bookmarklets for social websites.
  • Added support for script plugins.
  • Added Share With Facebook button.
  • Added Share With Evernote button.
  • Added Share With Twitter button with automatic URL shortening via bit.ly.
  • Added user contributed “Share with Delicious” plugin to the core distribution. Thanks to forum user czanderna.
  • Update to the current version of Sparkle, which prevents auto-updating to a version of Vienna which will not run on the user’s system.
  • Fix bug where deleting a feed in Unified view mode would cause Vienna to stop working correctly.
  • Fix bug where changing the article font size would crash Vienna.
  • Fix bug that caused zombiefied update spinners (thanks to Curtis Faith).
  • Fix bug that caused the reading position to be lost upon refresh (thanks to Curtis Faith).

Devs: Teach your app about Vienna, NNW and others

Just as a quick reminder: Vienna, NetNewsWire and probably a few other apps implement Brent Simmon’s excellent and useful External Weblog Editor Interface. If you implement the receiving portion of this protocol, we can send you information about posts, websites, etc. which you can then re-use in your application.

Vienna even has a facility for creating plugins (with toolbar buttons and menu entries) that make this process a one-click affair for your users. If you have any questions about this, don’t hesitate to ask on the Developer Forum. Applications that already implement this include Cocoalicious, Pukka, Ecto, MarsEdit, etc…

Comments Off

Vienna 2.5 BETA

The Vienna Development team is happy to announce the beta release of Vienna 2.5. This is a testing release that, among other things, adds extendability via a new plugin development API and fixes a small number of bugs. To be more precise, the new plugins make it extremely simple to extend Vienna with sharing capabilities that leverage social networking sites like Facebook and Twitter.

Vienna 2.5 supports user-creatable plugins

Click to download: Vienna 2.5 BETA

Requirements

Vienna 2.5 BETA requires Mac OS X 10.5 Leopard or higher to run.

Pre-release software

The Vienna 2.5 BETA version is pre-release software, and it may contain bugs. If you discover a bug, please create a new topic here in the Vienna forum and report the bug to us. Some tips for writing good bug reports can be found at http://forums.cocoaforge.com/viewtopic.php?f=18&t=9210. For safety, we recommend that you back up your files before running the beta version. Vienna’s files are located at “~/Library/Preferences/uk.co.opencommunity.vienna2.plist” and “~/Library/Application Support/Vienna”. When 2.5 goes out of beta, Vienna will automatically update to the release version.

New features

  • Add support for plugins. For details, see the Plugin Documentation.
  • Add a facility for automatic URL shortening via bit.ly that can be used by all plugins.
  • Add “Share with Twitter” plugin and toolbar button.
  • Add “Share with Facebook” plugin and toolbar button.
  • Add “Share with Evernote” plugin and toolbar button.
  • Web plugins (especially audio- and video-players) now continue to operate while in the background.

Fixes

  • Fix bug that caused Vienna to become unresponsive after deleting a feed in Unified view.
  • Update to the current version of Sparkle, which prevents auto-updating to a version of Vienna which will not run on the user’s system.
  • Fix bug where deleting a feed in Unified view mode would cause Vienna to stop working correctly.

IDNs and Cocoa

My family name contains an umlaut, a fact that sometimes leads to confusion in the English-speaking world, especially when it comes to data-entry on shoddily coded websites. All my life, I have habitually used Stroeck instead of my actual name, and that’s also my personal domain: stroeck.com.

Recently, support for Internationalized Domain Names has been getting better, so I bought ströck.com. The first thing I did, of course, was typing it into Vienna’s browser bar. Needless to say, it just failed silently :-) NSURL cannot handle IDNs, so in Vienna we now use a little hack to parse them. As far as I’m aware, WebView’s URLFromPasteboard: is the only way to get this functionality in Cocoa without using private API or JavaScript trickery, which I was using before Jeff Johnson found this solution:

NSURL *urlToLoad = nil;
NSPasteboard * pasteboard = [NSPasteboard pasteboardWithName:@"ViennaIDNURLPb"];
[pasteboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
@try
{
	if ([pasteboard setString:theUrl forType:NSStringPboardType])
		urlToLoad = [WebView URLFromPasteboard:pasteboard];
}
@catch (NSException * exception)
{
	urlToLoad = nil;
	{
		NSBeep();
		NSLog(@"Can't create URL from string '%@'.", theUrl);
	}
}
return urlToLoad;

For example, your user might type in this URL:

http://www.ströck.com/Folder With Spaces/index.html

Piping that through the above code will yield the following, which you can now plug into an NSURL:

http://www.xn--strck-lua.com/Folder%20With%20Spaces/index.html