Catch a Shortwave
Shortwave is an extensible quick-search and shortcut system like Firefox’s Smart Keywords or Safari Stand’s Quick Search except in the form of a browser-agnostic JavaScript bookmarklet. It’s launching with some universal defaults and can be customized using a simple, specially formatted, self-hosted text file called a Wave (here’s the default wave.txt as an example).
Where is this coming from?
A number of reoccurring nuisances recently motivated me to create Shortwave:
- Updating to the Safari 4 Developer Preview disabled Saft and its Shortcuts. Stand still works but I hadn’t configured its Quick Search.
- Frequently using multiple browsers, I often find myself typing a shortcut or trigger that isn’t recognized by that particular browser.
- While out and about with the iPhone on the Edge network, the fewer full page requests the better (really the last straw).
24 hour back-scratch
So Wednesday night, literally Thursday morning, before bed I hashed out a proof of concept and slept on it. That morning I did some (really) quick work on an identity, keeping inline with the style I’ve been developing for Fever.
Later that evening I rewrote the entire thing making it more extensible and purchased the domain name shortwaveapp.com. (catchashortwave.com was available and more inline with haveamint.com and feedafever.com but was too long and had too many hidden words that reduced readability.) The new domain was live a little after midnight that same day.
Take that Matt! <emoticon type="wink" />
Keep an eye on the Shortwave category archive for updates.
Privacy Addendum
Custom Waves must be web accessible so make sure there is no sensitive info (email, passwords, etc) in your urls! And while the Shortwave homepage is Minted, trigger calls (including help
), which may provide the path to your Wave, are ignored. I’m not collecting any usage data beyond hits to the homepage—I already have a little brother, I’m not looking for anymore younger siblings. See also my comment on privacy.
031 Comments
Hey Shaun - super cool idea!
… And don’t worry, Matt still wants to be your bud.
In Safari, the first 9 bookmarks of the Bookmarks Bar are mapped to cmd-1 through 9. Makes for a great keyboard shortcut.
Awesome idea Shaun :) I could get used to this!
(just one other thing I thought you might want to know about.. I tried signing up for the Fever notification, but every time I tried submitting my address is cacked out and threw a generic error at me (We apologize for the inconvenience but an error has occurred. Please try again later.))
Jonic, thanks for the heads up. Looks like Campaign Monitor took a header for about half an hour around 7pm EST. Everything appears to be working again.
Shaun,
The default behaviour when adding short wave as a bookmark in FireFox 3, is to output ‘null’ in the current focused tab if one ‘cancels’ the Shortwave dialog.
Is this intended? It’s not a complex task to open another tab prior to running Shortwave, but that does diminish the time saved in return.
Fantastic concept and I can see a huge amount of potential - looking forward to making use of Shortwave for a number of tasks.
Is it possible to completely overwrite the available commands (as to not have the defaults from your wave.txt) and only those in your custom wave.txt? Perhaps I’m missing something, even while using my waves.txt I’m still getting the defaults. It’d be great to trim the list a bit and get rid of the triggers I wont use.
Otherwise this is an awesome tool and something that will definitely become part of my every day browser use.
Well, this certainly is a nice idea (and a very cool site design - which you sadly wont see much when you use it), but why does it have to pass all searches through your site? I mean, since this all works with a Javascript bookmarklet, why not do the whole implementation in Javascript?
You see, search terms are a very sensitive matter and I do feel uncomfortable giving everything I search for into the hands of a private person I don’t know. I’m sure you won’t do any evil with this, but the sole fact that you could, probably scares many people away.
I tried a similar thing some years ago ( phoboslab.org/cmd ) - It works great for me, but everyone else who tried it told me about his privacy concerns and never used the site again. At that time the thought to implement this all client side never came to my mind.
BrendanB, grab a fresh copy of the bookmark. I’ve updated the JavaScript, encapsulating the entire operation in a function to play nice with Firefox.
This update is only necessary if you’re having the issue Brendan describes.
Mike, try adding the following comment to the top of your waves.txt:
That should—unsurprisingly—kill all the defautls.
Dominic, as I mention in my post, I don’t have an interest in and am not monitoring the searches that pass through Shortwave.
All searches pass through the Shortwave domain for one very simple, evil-free reason: if all the triggers and destination urls were embedded in the JavaScript bookmark that bookmark would need to be updated every time a new trigger was added—in every browser and on every computer that uses it. That would be an absolute syncing nightmare.
The way Shortwave currently works you simply update a text file that you control. It’s a trade-off between perceived lack of privacy and convenience. You decide.
Mr Inman,
A most agreeable change - excellent.
Hrm. Works fine in Safari and Firefox, but does nothing for my iPod Touch.
Very cool little app, and a great design to go with it! How’d you come up with the name?
Ernie, works fine on my iPhone (1.14 with JavaScript On). That goes for pre- and post-Firefox fix. Are you adding to Safari and then syncing via iTunes? There’s no easy way to add a JavaScript bookmark to MobileSafari that I know of (said in the hopes that someone will enlighten me).
Karan, Shortwave started as Quicksand as an homage to Quicksilver (Waves would have been Grains). As I was falling asleep different names were racing through my head. I don’t remember actually making a decision but when I woke up I “knew” that I had decided on Shortwave (which is closer to “short way” or “shortcut” and unique in this namespace). For such a small app, that was good enough for me. ;)
Shaun, awesome app. I think it’s going to be a part of my daily browsing. I use Saft but this seem to be quicker since I can evoke it with a simple key command. Brilliant work.
This actually works remarkably well as a firefox search engine (added as an addon).
No need to select a search engine prior to launch - takes advantage of Firefox’s built in search tool and makes a good alternative to the javascript pop-up.
It really is a sweet little tool you have created Shaun, great work as always. Love your naming abilities too! ;)
This is really cool, thanks a ton! I’m not really sure how I am supposed to add custom triggers; I don’t completely understand the whole .txt thing, but a Fandango or last.fm shortcut would be great!
Very cool tool indeed Shuan and very neat and clean design, kudos!!
Hi Shaun,
One wave you could add would be the “Feeling Lucky” feature of Google, as it can be a real time saver in some situations. Here is the URL : google.com/search?q=stuff&btnI=I%27m+Feeling+Lucky
I guess a “gl” trigger could go (or uppercase G, maybe).
Cheers.
hi shaun. looks like a great tool.
i would suggest adding google image search. i use that one most days.
img http://images.google.com/images?q=%s
I’m a little confused how to use this on MobileSafari. Can someone explain to me? Thanks.
Matthom, Like any bookmark, just add the bookmarklet to Safari on your desktop and then sync your bookmarks to your iPhone/iPod touch with iTunes. Open up MobileSafari, hit the bookmarks button and then click the Shortwave bookmark.
Lovely lil’ app. Thank you.
Brilliant little app!
I’ve been manually shortcutting for a while (rather than loading wikipedia, I would just google “wiki something”) - this takes it a step further and speeds up the iPhone/iPod Touch search process.
Thanks!
Django documentation would be a great add-on.
Just a simple Google search with “site:www.djangoproject.com/documentation” tacked on to it.
Shaun, is there anyway to have a history of the searches? One thing I love about the Saft quick searches is that it keeps a list of the most recent searches. If something like this could be implemented it would make it perfect.
Shaun, this is a great tool, will try to use it as much as I can! Thanks!
Antonio, history would be a bit tricky since I don’t keep a record of recent searches. Because the bookmarklet uses a JavaScript window.prompt() (enabling use on an empty window or framesets which have no DOM) we can’t store recent searches in a cookie. The cookie would be set by whichever domain you were on when you triggered the search and unaccessible to other domains. Additionally the window.prompt() method doesn’t allow for scriptable autocomplete/suggestions.
I’ll mull it around a bit more but I don’t think its possible without requiring an account or crippling Shortwave on empty windows and framesets.
Shaun, thanks. I would sign up for a free account to get a history of my searches.
I’m no developer so I apologize if this sounds stupid but couldn’t you “write” each search to a text file that would be hosted locally and then invoke the page when you type in “history” into Shortwave? Similar to the behavior of when you type in “help”.
Cool, works as advertised…
Would you be open to making the source available so someone might want to install a local version?
In my wave file, a couple that many might find useful:
rt
for RottenTomatoes Searchdown
for DownForEveryoneOrJustMe