Fluid 0.7 Released with JS API for Dock and Growl
Fluid 0.7 is out with a JavaScript Console, a JavaScript API for dock badges and Growl notifications and some bug fixes.
I need to document this much better, but it’s late, so here’s what the JS API looks like:
- window.fluid.setDockBadge(”10″);
- window.fluid.showGrowlNotification({
title: “title”,
description: “description”,
priority: 1,
sticky: false
});
Oh… and some slightly bad news… all of your previous preferences, browsing history, and download history for each SSB will be lost again with this upgrade… sorry, I needed to reorganize a few things… there’s a reason this is a beta.
Speaking of betas… as of version 0.7, Fluid is not longer set to expire in March. Fluid is now Free as in Beer but still closed source. For the foreseeable future, this is how Fluid will be licensed. I reserve the right to change this at any point in the future to another model… but this much is certain, 0.7 (at least) will forever be free beer.
January 21st, 2008 at 02:43 am
Hi,
Great work on this update as ever, just wondered if you still had custom styles still in the pipeline? Currently it is my only remaining feature request.
Many thanks for making this freeware.
January 21st, 2008 at 05:20 am
Excellent work. The JS API is potentially really powerful. I was just wondering if there is any way of getting Fluid to work with something like GreaseKit so we can hack in hooks to the API for existing apps like GMail? I’ve got GreaseKit installed but it doesn’t seem to be enabled for my fluid apps.
Cheers!
January 21st, 2008 at 05:27 am
Apologies…just needed to enable it. Looking forward to seeing what I can do with this! Thanks.
January 21st, 2008 at 07:20 am
Thanks for the update. Does this bring us any closer to dock notification for Campfire?
January 21st, 2008 at 09:07 am
@Dave: now that there’s a JS API for badges, it means that authors of software like Campfire can write their own hooks.
January 21st, 2008 at 10:12 am
Thanks Todd!
Dave: I’ve just committed Fluid badge support for Campfire. We’ll deploy it this evening.
January 21st, 2008 at 10:58 am
Awesome Todd! Nice meeting you at Macworld!
January 21st, 2008 at 11:02 am
@Dan: I’m successfully using GreaseKit on fluid apps. You need to make sure manage applications and then add the individual application.
January 21st, 2008 at 13:05 pm
Having some difficulty with Google Reader.
1) Going full screen loses keyboard focus
2) Badge does not update when you read items
3) using ‘v’ to view items ends up with a second google reader window
4) If you are fullscreen and attempt to view you end up with two windows that are essentially impossible to navigate away from ( command-tab and force close don’t seem to work ).
Some of these are probably tweaks in how fluid interacts with google reader and the javascript that will need to somehow be patched to “do the right thing”. I’ll check out GreaseKit to see if it has the appropriate tools to do the markup.
January 21st, 2008 at 15:05 pm
Todd, Great product loving it! Any way to control window? I am using java on open now but cant control anything but size and location without a window. open. I would love to adjust window on launch.
January 21st, 2008 at 19:06 pm
@Adam: Yes, user stylehseets are definitely on the radar. I will try to get this in for 1.0.
@Dave: Yes, the JS API added in 0.7 allows webapp devs like 37signals to set Dock badges and show growl notifications as appropriate for their app. Additionally, end users don’t have to wait for those webapp devs who are less agile than the wonderful guys at 37signals ;0]… users can install GreaseKit now, and leverage the JS API themselves or dig into the voluminous collection of Greasemonkey scripts on userscripts.org. As of 0.7, GreaseKit is Fluid’s tool for user scripting. GreaseKit is open source, and in the future I may try to take some of the GreaseKit code and integrate it a little more tightly into Fluid so that there’s no SMBL plugin or extra download/install required. I definitely want to stick with supporting Greasemonkey scripts tho… why reinent the wheel?
@Sam: that is truly rad!
@Clint: very nice meeting you and Jacqui too!! It was a very ‘celebrity-sighting’ moment for me ;0].
@Eric: thanks for the bug reports! I really need to get a Bugzilla install up or something.
@Ryan: …come again?
January 21st, 2008 at 20:40 pm
Todd, thanks for the feedback.
2) I would try and integrate this with greasekit since you would have a ready community to pull from. I’m already trying to work up a “google reader in fluid” greasekit script.
3) I’ll explain better. I end up with 2 fluid windows ( either reader or blank based on the preference page ) and a Safari window with the link from the RSS page ( 3 in total ). So for every item I view I end up with another “fluid” window. So it’s something with the way that reader is opening windows.
Another suggestion. For the default icon you might want to scrape the site for the WebClip bookmark icon. It should provide a much cleaner icon.
January 21st, 2008 at 20:42 pm
Is there any way to disable the popup blocking? Sites like the Hulu.com video player have been returning a “you browser is blocking this popup…” message when trying to break out their pop-out video player. It worked in a previous version of Fluid, but the last few have blocked it.
January 21st, 2008 at 20:47 pm
Ooops… missed that part. Yay greasekit!
January 21st, 2008 at 21:05 pm
Sam - thanks for the badge update for Campfire, it works great. Just one issue–when the badge appears, the icon (in my case a custom icon) turns into a low-res version.
January 21st, 2008 at 21:38 pm
Fluid - fantastic idea. Been wanting something like this for some time for Gmail, but this is a brilliant implementation.
One thought for the future - would be very cool if there was some capacity to either set multiple tabs on open (or have it restore state on startup). I tend to set up a sort of “Google workspace” (iGoogle/Gmail/Calendar) with three tabs and being able to just open up into that would be fantastic.
Phenomenal little app - thank you very much for writing it.
January 21st, 2008 at 22:10 pm
Ah,ha!
Todd, it appears that Reader ( and possibly other js based apps ) using window.open will cause a second fluid/webkit window to open and then your code intervenes and sends the URL to safari. I made a greasekit script that changes the ‘v’ to do a location.href=item and it works as I would expect it to now without the extra fluid window.
January 22nd, 2008 at 06:51 am
^ Ignore my icon comment above, I just had to reimport it in a new instance, and it’s fine.
January 22nd, 2008 at 10:31 am
Sorry Todd.
I would like to be able to spec the size and details of the first window that fluid opens.
I am currently only able to spec the size and location of the window. I would very much like to get ride of the ability to resize the window.
I hope this makes sense.
January 22nd, 2008 at 12:26 pm
Todd –
Great work/idea on Fluid. I’ve just started using it for Fluid and Remember the Milk. I’m so particular about how my Camino windows and tabs lineup–Fluid helps me to simplify that by taking RTM and Gmail out of the normal usage of my browser.
Is there a place/way to leave comments/suggestions/feedback? I hope I just didn’t miss a link…
Thanks,
sbh
January 22nd, 2008 at 12:27 pm
* Correction to comment 20 above — I use it for “Gmail and Remember the Milk”, not “Fluid and Remember the Milk.”
January 22nd, 2008 at 13:06 pm
I’m not sure if this is a Fluid or Campfire issue, but the Campfire dock badge seems to intermittently stop working. It will appear correctly for a while, then stop for a while, then appear again. I’ve tested all manner of window layering/visibility, but there’s no clear pattern.
January 23rd, 2008 at 03:28 am
This is the first OS X browser I’ve found that correctly does fullscreen support on Leopard. Thanks!
Three bugs to report:
(1) In fullscreen mode, JavaScript dialog boxes are hidden but still given keyboard focus. To demonstrate, click a javascript:window.alert(1) link while in fullscreen mode.
(2) Gmail external links open an empty popup window and assign it focus. The popup ignores the browser tabs and the “bring to front” preference setting.
(3) Gmail external links open an empty popup window that should be closed automatically. If window.open() is called on an external link, then it could be autoclosed to keep the UI clean.
January 24th, 2008 at 08:53 am
Great app Todd, we’re really loving it at eBuddy.
One thing we’d like to do though is be able to fill in or get rid of the text in the “About…” section of a Fluid App.
Other than that, awesome work! We like it a lot more then Prism / XUL Runner.
January 24th, 2008 at 23:34 pm
I’ll give it one last try. Perhaps my comments are being rejected because they have funny looking URLs in them. Anyway…
I set the URL to localhost port 8000 (for a Sage server that I have running there) But the app that I create tacks a .com onto the end after the slash. needless to say this causes problems which I can’t fix. The Config.plist contains the right URL.
Hope you get this and thanks for the wonderful application,
Ivan
January 25th, 2008 at 14:05 pm
first off, thanks for the great app. i encountered a problem right away when trying to create an ssb. my user account is not admin and when trying to create an ssb to be stored in my apps folder it gave me a permission denied error. took me a second to figure out that it’s not prompting for authentication to save to the application folder… may be something to include in the next release.
January 27th, 2008 at 10:43 am
Great app! I love it!
I have one little problem. When I click a link that opens a PDF-document I get the following error:
Reason : Operation could not be completed. (WebKitErrorDomain error 204.)
Is it possible to fix this? I would really want to have PDF-support built-in.
January 29th, 2008 at 08:59 am
The app would be ridiculously amazing if it was open source.
January 29th, 2008 at 13:34 pm
is anyone successfully able to have mailto’s you click in safari go to the gmail app you have created, and open a compose? i just get a blank window with nothing happening. also, when i click on my google calendar in the gmail app i created, it opens a new windows, rather than a tab… that would be perfect if i could get it in a tab. also, i just submitted an icon for freshbooks.com to the flickr group. thanks!
January 30th, 2008 at 07:33 am
I’ve also switched from using pyro to using fluid for campfire, full-time. I’ve also been successfully using greasekit to hack additional functionality into campfire (growl when someone says your name).
After hacking and using, I have a few suggestions for more scriptability - some of which it sounds like you have in mind already.
* Bundle the ability to have user scripts right into FluidInstance, and store them in the application’s directory so that we can bundle and distribute them
* Provide a javascript method to open a new tab
* Provide a javascript method to add menu items, which, in turn, call javascript
* Make the growl notifications clickable to get to the application, preferably the tab which originated the growl
Overall, Fluid is great, and thanks for the hard work on it.
January 30th, 2008 at 07:52 am
Hey,
I love this for my Netvibes. But would even love it more if it would support badge information for this site.
January 30th, 2008 at 15:52 pm
Just my 2 cents … if you don’t opensource this project, someone else will make a clone and open it. It’s just one of those things, you’ve made something that is directly in the path of opensource - it’ll happen, inevitably. Just my 2 cents.
January 30th, 2008 at 16:21 pm
nilez: ever heard of prism? hehe…
January 31st, 2008 at 03:36 am
Nice ! Simple question : is it possible to package Fluid apps in a standard DMG image ?
If so, how ? Thanks !
January 31st, 2008 at 09:56 am
Is there a way to turn off the status bar for a given site? I find the status bar to be mostly useful for seeing what domain links will take me to… but if I’m stuck inside one web app / domain it is unnecessary. I think this would be a lovely preference. Thanks for making Fluid.
January 31st, 2008 at 12:13 pm
Been using it for a while now… pretty slick. Here is my rundown of issues.
1) Badge/site support need to be more modular ( I know you are working on it )
2) The javascript open/blank window issue. This can be fixed with some GreaseKit fu, I posted a link earlier in the discussion, but your anti-spam code probably ate it.
3) Fullscreen needs work.
4) Ways to customize what mime/file types an “app” accepts. I would love to be able to click on a .torrent file and have it auto-open in my web torrent frontend.
5) Current RSS integration works ok, but if I click on an RSS when Google Reader is not already open it doesn’t work. Probably something minor, possibly an interaction with the GreaseKit auto-accept reader patch I have.
Cheers
January 31st, 2008 at 17:22 pm
Oh my word, this software is fantastic! Having Basecamp and Gmail icons in my dock is a lifesaver. THANKS.
When I click on outgoing links in Gmail, it respects my default browser settings, but it opens a blank window in Fluid.
Also, when I download a file it’d be good to auto open the file (or have option to) and auto close the download window.
Again, THANKS for the radical software!
February 1st, 2008 at 15:27 pm
Love this app!
But do have a question. In our office we would like to use it for Zimbra’s Messaging System and that’s working fine. To make this more secure we would like to use https. When I try using Fluid with https it comes back with an error: “Load Failed Reason : bad server certificate.”
Are you planning that in a future version Fluid will support https?
February 1st, 2008 at 16:27 pm
@Lennert - it does support https, this is because you have an invalid/self-signed certificate on your Zimbra server.
You need to fix the SSL certificate, or a believe you can edit the certificate trusts in OS X to always trust that certificate and then it might work for fluid.
February 2nd, 2008 at 15:47 pm
Be great of the GMail Dock Badge would work with hosted domains. I’m sure you’ve thought of it.
Nice work.
February 4th, 2008 at 06:42 am
Do you have any plans for allowing CSS “overrides”? I noticed GMail.app containing a default.css. I tried creating one in GReader.app, but that didn’t work.
February 4th, 2008 at 16:47 pm
[...] A lot of great things in the horizon… but it’s too bad it isn’t open sourced (See Post Here). I’d love to start messing around with the [...]
February 4th, 2008 at 17:34 pm
First, great job! Second, what would make this truly great for me (and I’m guessing others), is if the cookie store, and other such things was separate from regular Safari/WebKit. I ask, because for developers or testers, it’d be great to be able to have multiple “browsers” open to the same site, but logged in to different accounts. Sure, I can start spawning a Safari, a Firefox, a Camino, etc, etc., but that breaks down quickly. If I could just create multiple Fluid apps that were set to facebook.com, and then be able to login individually to each Fluid app and have it maintain that separately, that’d rock.
Also, while I don’t mean to take away from Fluid, for a really great stand-alone GMail reader on the Mac, I’d highly recommend Mailplane, which ties into Gmail specifically, providing some really nice UI enhancements, as well as allowing for multiple accounts and easily switching amongst them. http://mailplaneapp.com/
And lastly, I have no prob with the lack of open source. I don’t really see how making it open source will make it rock (as opposed to suck) as one person said, because it already does rock. Sure, it’d be nice, and if it were, I might be able to go add the feature I’m asking for above, but it certainly won’t stop me from using Fluid.
February 5th, 2008 at 04:15 am
Never mind my last post, I got my custom CSS to work.
Though I’m guessing it’ll be overwritten by the next instance update…
On the other hand, the Google Reader dock badge never enters 0 (or disappears). It’s updated as I read news (counting down), but when I reach zero it stays at “1″.
OS X 10.5.1
February 5th, 2008 at 19:23 pm
GREAT APP. Thank you!
February 6th, 2008 at 01:33 am
Thanks so much for Fluid! I try out many of the indie mac apps and I must admit they’re mostly short lived. I’m keeping Fluid.
February 6th, 2008 at 04:40 am
Blilliant Software.
However it seems not to work for “local” url-s without a TLD name. I use the url http://localhost:8080/start and Fluid tries to open http://localhost:8080/start.com - adding the .com by itself.
February 6th, 2008 at 07:39 am
Also, another javascript note. It appears that window.close() currently causes the entire fluid window to close. However, if this is in a tab, it’d be helpful if it just caused the tab to close.
February 6th, 2008 at 08:08 am
This app is really great.. Man I have tried doing this kind of thing in several kludgy ways in the past. Great to have a truly separate browser for web apps. I am using it with meebo.
I am sure you have been asked this or have a solution possibly that I have missed.. Is there a way to save your web app login/password so it is autosubmitted. Basically, I would like to start the Fluid created app and have it log right in (optionally of course).
Thanks!
Shrop
February 7th, 2008 at 08:58 am
I’m having problems with some of my Fluid apps that I log into with OpenID, specifically Backpack but I suspect this would be the case for others as well. When I enter my OpenID to log in, I am redirected to my OpenID provider as I expect. But, when I log in, the OpenID provider’s site opens in Safari rather than redirecting me to Basecamp.
Ideally, I’d like to see a way to enter OpenID’s in Fluid’s preferences. Then, when a site requests OpenID auth, then my Fluid app would prompt me for which one to use and I log in. Done. Barring this, though, is there a way to capture this redirect thing so that I can log into Backpack?
If it helps, here are my details.
OpenID Provider: ClaimID
Problem site: {myaccount}.backpackit.com
Note: I’m using my own domain as my OpenID which redirects to ClaimID.
February 7th, 2008 at 15:11 pm
eric, could you post that greasekit script for google reader? I’d love it
February 8th, 2008 at 15:31 pm
Awesome, awesome awesome.
One small bug: on sites with counters (gmail, google reader), the counter in the Dock does not go to zero when the counter goes to zero, it stays at whatever # of unreads or new before it went to nothing. (Does that make sense?)
February 9th, 2008 at 23:00 pm
Fluid rocks!
Related to Ruud’s Jan 27th comment, I too am having issues with a “WebKitErrorDomain error 204″ but not related to PDFs. I get it when I try to download PBS NerdTV shows http://www.pbs.org/cringely/nerdtv/shows/
February 10th, 2008 at 12:59 pm
Hmm, probably doing something wrong, because I’m not seeing the unread counter for Gmail. ;_;
February 12th, 2008 at 16:19 pm
Why only for Leopard?
February 13th, 2008 at 04:39 am
Great work!
Is there or will there be any way to use it together with (the highly addictive) 1Password?
Kind regards
Niclas
February 13th, 2008 at 15:28 pm
Hi!
This is a great app! However, I would like to report a few minor problems with it.
The message in the title bar does not update. For e.g, if my gmail application starts out with 2 new messages, the title reads ‘Inbox(2)’ for the entire session, or ‘loading…’ for some other sessions, etc. It would be nice if this was corrected in a future version. Another improvement would be including a contextual menu item to open a link in the default main browser and stopping the appearance of a blank window if I click on links outside the domain and have set the preferences to not open links outside the current domain inside the app.
Best,
Rudro
February 15th, 2008 at 02:12 am
Hi there!
Fantastic app, I can finally replace Mail by GMail (which interface I prefer) in Fluid and have it in a separate app.
Still cannot see unread counter in the dock though, the same as Zelnox user above.
I’m using Leopard 10.5.2.
Can I ask GreaseKit support for a future release? It would be great
Regards and congratulations! Fantastic work!
February 15th, 2008 at 10:57 am
greasekit actually works. you just need to assign it to your fluid instance.
i too am having the google reader bug when pressing ‘v’. Eric says he has fixed it in a greasekit script.
February 16th, 2008 at 01:46 am
I posted a GreaseKit script for message growl notifications for Campfire. Shows the contents of the message, instead of a window saying you have unread messages, allowing you to not have to open campfire!
http://userscripts.org/scripts/show/22891
It’s there, if you’d like to use it. Installation instructions on the page. Verified working on MacOSX 10.5.2, Safari 3.0.4, Fluid 0.7, and GreaseKit 1.4.
Thanks for fluid, Todd!
February 16th, 2008 at 11:55 am
Hey, this is a fantastic application! I love it!
I’m only having problems with GMail, it seems that it wants to load but it doesn’t. Which URL are you guys using? I use calendar.google.com
Thanks!
February 16th, 2008 at 11:56 am
Sorry, I should say, I’m using leopard + firefox (last versions).
Thanks!
February 16th, 2008 at 18:00 pm
Hi,
Today I’ve created a CakePHP helper, so creating notifications in your own CakePHP application becomes a piece of cake.
You can download the helper at my website: http://bjornpost.com/text/2008/fluid-helper-for-cakephp/
Enjoy!
Ps.: Fantastic app! (though one little feature request: can you make a function to hide the status bar?)
February 19th, 2008 at 16:54 pm
wow, this is great! i’m trying to add in the right call on bloglines, but window.fluid.setDockBadge(”10″) doesn’t seem to have any effect. Any thoughts on what might be wrong?
February 22nd, 2008 at 17:38 pm
I’d kill for text entry box spellcheck support
February 22nd, 2008 at 22:52 pm
Can a proxy be set up for each webapp?
February 27th, 2008 at 14:36 pm
I’m having a hard time getting the badges to show up on my apps. Is there something special about getting them to work?
Is there another app required for them to work? (i.e. Apple Dev Kit, WebKit, etc.) Thanks in advance.
March 1st, 2008 at 02:40 am
Todd,
Thanks for a your hard work on Fluid, it’s really great!
I just posted a little fix for Google Reader’s script:
http://userscripts.org/scripts/show/23422
It clears the dock badge when all the items are read.