Crossloop review


I’ve been using Crossloop for the last week, and I give it two thumbs up! As I mentioned in my original post, it’s a remote desktop app for the rest of us. Its strength is its simplicity, the team have obviously spent a lot of time figuring out how to remove the usual clutter of network configuration and the setup dance you normally have to go through to make a remote desktop connection.

This is especially important in the situation I most often want to do remote desktop access, where I’m trying to sort out a computer problem for a less experienced friend or relative. Since my relatives are all 6000 miles away, I can’t be there in person as much as I’d like, so I have to talk them through the problem on the phone. I’d love to be able to see what’s on their screen, but never considered asking them to install a remote desktop application since they’re expensive, tricky to set up, and time-consuming to use. I’d imagine that most computer support lines are also in the same position, they’d love to see what their customers are seeing, but it’s just too difficult to set up.

The first great thing about Crossloop is that it’s free! It’s not only the financial cost that this saves, it also removes any messing around with payment systems or serial numbers, making the download and install process very fast.

To start using Crossloop, you download the application, and run the installer. There’s no options in the install process, which keeps things nice and simple. The only downside is that the app is PC only, hopefully the team will produce a Mac version in the future.

Once it’s downloaded, you launch the app and it shows you a single window with two tabs, one for looking at someone else’s screen, and the other for making your screen viewable by other people. The windows both use large fonts and a minimal layout of buttons and text boxes to make it easy for any level of user to work with.

One key innovation is the use of an ‘access code’ for controlling remote sessions. This is an auto-generated number that you see when you start trying to show other people your screen. The beauty of it is, all the other person needs to do is type that same number into their ‘join session’ window, and Crossloop will locate and connect you to that session. This is a brilliant approach, since it removes the usual hunting around for IP numbers or network locations that other applications require, which is a big hurdle for most users. The metaphor is very much like a phone number, and since it’s long and auto-generated for each session, it’s unlikely that someone malicious can gain access to your screen through it.

When someone joins a session you create, you get asked if you want to allow them, with a simple dialog showing their Windows user and computer names, which gives you another level of security.

I found using Crossloop in general to be head and shoulders above the alternatives for ease of use and speed. There were a few minor things I’d like to see improved though.

One slight down-side is that the Windows firewall sometimes warns about the network communication being done by Crossloop, asking it it should be blocked or allowed. This wasn’t a big problem, but did add an extra step to talking someone through using it.

Going into fullscreen mode, for example with a game, ended the session, which was understandable (capturing DirectX fullscreen mode is difficult), and the session was automatically ended pretty gracefully.

The image compression seemed to produce JPEG artifacts around text. It was still very readable, but it would be nice if there were some way of progressively improving the quality for unchanging pieces of text, as it makes reading text tougher, and got more noticeable in longer sessions.

One clever touch was the addition of a feedback dialog asking you to rate the session after it ended, and offering you the chance to share Crossloop with your friends. Hopefully this will give them some good data to keep improving the product, and spread the word about this great way of working remotely.

Overall, this is a great product that I’ll be using for all my remote trouble-shooting, and I highly recommend it.

SearchMash in IE7


As I mentioned in Top Three Usability Problems, the Firefox 1.x toolbar plugin has been very popular, and I really wanted to add one for Internet Explorer too. Luckily, IE7 now supports the OpenSearch standard for search plugins, and so does Firefox 2.0. I had to write an XML description of SearchMash, then I was just able to add a couple of javascript calls and a link in the head, and SearchMash now shows up in IE’s toolbar when you click on the link in the preview frame.

It even shows up temporarily in the list if you visit, thanks to some autodiscovery magic.

Out of the three usability improvements I wanted to make, that was the easiest. Getting the history working, and quicker load times are going to be harder. Work is very busy right now, and this is my ‘relax after a long day’ project, so I’ll see how much progress I make.

Top three usability problems

My goal for SearchMash is to get people using it as their regular search page, the way I do, by helping them find useful results more quickly, and find more of them. My firm belief is that searching can be improved, and that people will use a better search interface, and this project is a way of proving that.

I want to convert more of my visitors into regular users, and I believe there are three crucial problems I need to solve to do that:

Loading Speed

Especially on PC’s, the Java engine can take several seconds to load up, which adds a big delay to seeing your search results. There’s nothing I can do to speed up that startup time, but I could try and display something useful while it is loading, such as the plain Google search results for that query. I’ve filed a feature request with the Sourceforge system to track my work on this; Display useful information during Java loading.

The Back Button Doesn’t Work

Since I’m writing HTM directly into existing frames, rather than changing their location, the browser’s history doesn’t get updated when you got to a new page of search results within the site, and so hitting ‘back’ takes you to the page before SearchMash, rather than going through the pages of searh results. This is a surprisingly tricky thing to get working because different browsers behave differently, and you have to use subtle tricks like hidden iframe location changes to put changes into the history without actually reloading the page. This is in Sourceforge as Make page changes work with history.

Toolbar Search With Internet Explorer

The Firefox search extension is one of the most popular ways to access SearchMash. IE7 now supports a different standard, OpenSearch, but that allows similar functionality, with a few nice extras. One cool addition is that you can advertise your search engine through a link in the of your page’s HTML, and it will automatically show up in the search box for users to try out. I’ve got Write search plugin for IE 7 tracking my work on this one.


Crossloop is a new product that makes screen sharing easy. I heard about it through Mrinal Desai, and I’m trying it out over the next few days.

So far, I’m very impressed by the simplicity of the whole workflow. It’s been set up so that you just download and run the installer, and then when you run the program, you instantly get a window you can either type in a unique ID if you want to look at someone else’s screen, or if you change to the second tab, your own unique ID you can give out to other people to watch your screen.

I love that they’re taking a traditionally uber-geeky area, remote desktops, and democratizing the interface. They’ve removed all the config fluff that’s a barrier to 90% of computer users, and made it almost as simple as dialing a phone call.

That fits with my design philosophy, one that initially grew out of my experiences writing both console and PC games. Console games outsell PC games by an order of magnitude, even though PC games are often objectively better in graphics, and many console owners also have PCs. I grew to realize that PC games have a set of barriers that are invisible to most geeks, but almost insurmountable to the mass-market user. These are things like installing software, minimum requirements, and configuration.

With a console game, you insert the disk, hit the power button, and you’re in the game. It’s like a DVD player or any other consumer appliance, you know it will work instantly and every time. With PC games, you have to spend minutes at best installing onto your hard drive, and there’s always the chance that there’s a missing requirement or plain old driver problem that stops you dead.

Geeks love the flexibility of configuring apps, and thrive on the problem solving that ensues. Mass-market consumers want something that’s reliable and simple. That’s the real strength of web-based apps, no need for installation.

I’ll post a full review of Crossloop once I’ve had more experience with it, but my first impressions are very positive.


There’s now a ‘Whois’ link for all results, next to the similar pages and cache links after the summary. This uses the internet whois protocol to try to get information about the owner of the domain the page is on.

To use the new link, just click on it and the results of the whois search should show up in the preview pane. There’s usually a bunch of boilerplate standard information from the server holding the information, followed by the information about who the domain is actually registered to.

Since the whois servers hold the owners names, emails and phone numbers if they’ve not gone with a private listing, I had to be careful about how I offered this within SearchMash. In particular, I didn’t want to overload the whois servers providing the information, so I’m careful to only put in requests when you click on a link, rather than pre-fetching as I do for web pages. This is basic courtesy to the owners of the servers, and also complies with their terms of use designed to prevent robots from harvesting addresses for spam.

Thanks John and Melanie!


On John Batelle’s SearchBlog (the inspiration for SearchMash’s name), Melanie Colburn posted a roundup of recent SearchMob posts, including SearchMash with a “This is pretty cool” comment.

Since I enjoy his blog, I’d sent John an email out of the blue last week, telling him about SearchMash. He replied back almost immediately, directing me to his new SearchMob site, and suggesting I put a post up there.

John didn’t have the take the time to reply to my random email. I think it’s great that he did, and even nicer that Melanie linked from the front page. It may not seem like a big deal, but it really made my day.

Last modified, better preview, and ask

The status line now shows when a site was last modified, which can be useful to know if you’re searching for time-sensitive information. Not all sites return the header I use to find that out though.

I’d noticed there were some sites still showing up with missing pictures or bad formatting in the preview. I spent some time debugging some of the problem cases, and realized there were some bugs in the code I was using to insert the tag that resolves relative URLs. I put in fixes for those problems, which made a lot of CSS based sites appear much better.
It also allowed some scripts to run that hadn’t before, so I then had to fix the bugs in my script blocking that let those through. The end result is that preview works a lot more reliably.

I’ve also been experimenting with offering as an alternative to Google. I managed to get something working pretty quickly, but hit problems with their use of Javascript in the results pages. It works fine in Safari and Internet Explorer, but Firefox throws a lot of errors. I’ll be returning to debug that some more when I have a chance, for now I’ve left the code in, but I’m not providing any obvious links to it. If you want to experiment, use to invoke it.

Google launches their own SearchMash…

… and I was the first person to discover it! On Monday morning I did my usual Google search for ‘searchmash’ to see who was linking to me, and I was surprised to see come up as the first result. I looked at the site, discovered from whois and the privacy policy that Google were running it, though trying to be low-key about it.

I posted to Google Blogoscoped about my discovery, and it mushroomed from there. It’s fun being part of a news story, and I’m glad to see Google trying some really different looks to their interface.

I’ve also got a lot of traffic from the news, it’s been great to have so many people discover my SearchMash, I really couldn’t have paid for that sort of publicity. It’s interesting to compare their approach to mine too; they’re providing a new interface but with the same information, whereas I’ve stuck pretty closely to their original interface, but try to offer some extra information on top.

A new visual cue, and a bucket-load of bug fixes


Now you can move through the results just using a button, I realized there should be an indication of which result the preview is showing. Luckily, Google already used tables for their formatting, so I was able to use an existing table showing the snippet which had no border, and set its border to one to give a nice selection box.

Before I put that change in, I also tracked down the IE/youtube preview hang. It turns out some of my script cleaning code was too aggressive, and chewed up the final ‘>’ at the end of the document, so it ended with ‘</html' rather than '’. This confused explorer enough to cause a hang. There’s now a fix in for that problem.

While I was testing the selection box, I ran into some other bugs, mostly minor object access errors that caused different browsers to choke, which I was able to fix by adding more check to make sure methods existed before I called them.

I did see some problems with pdf links. Since these aren’t text, and are very large, the script doesn’t cope too well with them, and isn’t able to display them at all anyway. My solution was to check the ‘Content-Type’ header, and only let through pages with ‘text/’ in there. This should stop binary files like flash getting through too.