In-Game Browser: Moondoggie’s Latest Adventures

The Slartibartfast team has been hard at work, both on our tans and on the new In-Game Browser (IGB). This is rather tough, as you might imagine: there's little sunlight in Iceland at this time of year, and the demands of web development are ever-changing. However, we wanted to recap some developments over the past couple weeks and describe the path that Moondoggie is currently on.


We had a really great time meeting a number of IGB site developers and IGB users at FanFest 2009! It was very exciting to see some of the technology being developed for Moondoggie, and we had a number of frank and enlightening discussions with the developers of those sites.

For those who weren't able to attend, we gave a brief talk on the browser's technology stack, which you can view here.

JavaScript Gets Into Swimsuit Shape

One of the things that struck us at FanFest was the level of interest in the JavaScript capabilities of Moondoggie. I'm rather sad that we had to break a few hearts when we informed people that we weren't going to be able to offer synchronous, call-and-respond methods to site authors via JavaScript. However, we did take several suggestions under our wing and they should now be on SiSi for all to play with.

First, we were reminded that the JavaScript coding standard dictates that all method calls be camelCased with a lowercase first letter. This was a pretty simple change for us, but does require that sites change any backend JavaScript code they've written. A quick example: CCPEVE.ShowInfo(...) is now CCPEVE.showInfo(...).

We also added five new callbacks requested through various channels. One of the first we did was CCPEVE.requestTrust, which simulates the way the old IGB would prompt the user to trust a website that required it. The remaining four are CCPEVE.setDestination, CCPEVE.addWaypoint, CCPEVE.joinChannel andCCPEVE.joinMailingList. All four of these methods, as they materially affect the player's game experience, require that the user trust any websites attempting to call them. Without trust, they do nothing.

We switched out five of the JavaScript callbacks to not require trust, but have stricter restrictions on their input data and usage frequency. Included among these is CCPEVE.showInfo, which was rightly pointed out as essential for any EVE informational site.

You Trust Me, Baby, Don't'cha?

We've also changed the trust system a bit. We've cleaned up the management window, for one, which should make dealing with your trusted sites less confusing. We've also fixed up the ability to ignore sites which have requested, and been denied, trust before . The new Trust Request popup has an 'ignore forever' button - use that, and the website will never bother you again.

Clean Up Your Act

We've heard a number of concerns from power users who want to shut off plug-ins, cookies, caching and other various functions in Moondoggie.

Plug-ins are all disabled in Moondoggie, at the moment. They'll remain disabled for launch. And when I say "disabled" I do mean that they cannot run at all, and are not loaded into the browser. Yes, this includes Flash. We do want to enable them in the future, but if that happens, we will include options to shut them right back off.

We also recently added the ability to change the path to which you save your cache or cookies. At the moment, you can manually clear this out as often as you'd like. We'll soon be adding an option to disable caching to disk entirely. In either case, the browser will maintain an in-memory session history and a collection of session cookies, but these will be cleared when you close EVE.

In the future, we're considering creating a full-on "private browsing" feature, which would entirely prohibit Moondoggie from caching anything, cookies or otherwise, and would explicitly clear any history data that may exist upon closing the browser. Precisely when you can expect such a thing, I can't say.

Here Comes the Beach

At this point, we're leaving the wild, wild phase of feature development and moving on to the more measured, staid pace of release polishing. We know about a number of hairy problems with the browser, especially ones where pages flicker or flash. Now's the time to buckle all those under - and we could use your help. If you've tried Moondoggie on one of the latest SiSi builds and experienced some kind of graphical problem, please file a bug report and attach your DXDiag file; without that information, it's much more difficult for us to pinpoint these problems.

Thank you for your time, and, please, tip your waitresses!

  • CCP Pleognost