Things are generally progressing well, however at present we’re having some problems with support for the upcoming Dreamweaver CS5. There are some complex technical issues related to the JavaScript engine in the new version that we did not have to deal with with the earlier releases. Since Dreamweaver CS5 will be available very soon we think it’s important to make sure this problem is resolved.
We’ll be seeding to more testers soon, so stay tuned.
Development is proceeding at a steady pace, at present we’re finalizing the code that allows the MenuMachine application to seamlessly interoperate with the plug-ins for Dreamweaver and Coda. We have implemented the import of MenuMachine 2 for GoLive menus and I’m pleased to report it’s working really well, so those of you with legacy menus will hopefully be able to transition with minimal issues.
Work on the new web site is well advanced, we’re implementing it completely in HTML5 and it’s looking good. We may open it up to beta testers very soon.
I’ll be posting here more often from now on in the run-up to release day.
I know that many of you are keen to know the current status of our new version of MenuMachine. As noted in my last post about this, we ran into some issues that made things more difficult than anticipated.
MenuMachine’s data model (the information that is stored in memory and on disk) is surprisingly complicated, and due to various issues we were having with reliability and performance, I decided to move the internals of MenuMachine over to Apple’s Core Data framework.
This was not an easy decision as it meant ripping out the guts of the app and replacing them with new plumbing. The good news is that I’m pretty much finished this task now, with the result that the app is now much, much more reliable and much faster. This change to the core of the application will also make future changes to the data model (such as adding new menu types, for example) much, much easier. I’m really pleased with the result.
This done, we’re now back on track. Although we won’t be releasing the new version this year, it’s not that far away now.
Unfortunately, it looks like MenuMachine is deployed in enough sites that it has become a target for malware authors.
Yesterday we were made aware of a piece of malware that specifically modifies GoLive-generated JavaScript files, including MenuMachine JavaScript files.
Anirban Banerjee from stopthehacker.com explains:
Hackers are choosing to insert malicious code directly into local copies of menumachine scripts which are linked to compromised sites. This is primarily being done by harvesting client side ftp credentials using a backdoor trojan which then proceeds to hand over the credentials to a bot which in turn pumps in the infected code.
The trojan affects MenuMachine JavaScript files as well as the GoLive CSScriptLib.js file used for GoLive Actions support. The page at stopthehacker.com has an example of the modified code.
I must point out that unless your local machine is compromised, there is no way that this can affect you. This is not a vulnerability in MenuMachine itself. Your site cannot be modified unless the trojan has gained access to your local machine, in which case you have other problems. Your site cannot be affected by other machines on the internet.
I highly recommend that you have a look at the MenuMachine files in your site. If any of them contain this line at the end then your computer and your site are compromised:
function(hVAxp){varv120='va@72@20a@3d@22@53
As far as I am aware this issue can only affect Windows machines and if you’re running Windows then I highly recommend that you install anti-malware software immediately if you do not already have it in place and also make sure that you are completely up to date with Windows updates. This also applies to you if you run Windows in a virtual machine on your Mac.
This is certainly an unexpected development, if we discover any further information I’ll let you know.
In the classic (and best) Star Wars movie The Empire Strikes Back, Han Solo realizes that his friend Luke Skywalker is in trouble out in the icy wastelands of the ice planet Hoth and that he must go and search for him, perhaps in vain.
His first thought is to use a SnowSpeeder, a fast flying craft that would be ideal for scouting a vast area for life. However, he is told that the speeders are not available because the technicians are having trouble adapting the machines to the extreme temperatures.
Like the SnowSpeeder technician, I’d like to let you know that it’s been difficult adapting the concept of MenuMachine from a plug-in to a full-blown application. There have been many unforeseen issues that we’ve come across, each one adding to the time taken to get MenuMachine out the door.
In many ways, GoLive was an ideal environment for our plug-in. It was self-contained, had great site and link management capabilities and a great SDK that we could use to develop against.
With a standalone application, we can’t rely on having any of this. There is no site management, so we have to build it. There is no link management, so we have to build it. We need to provide the ability for users that don’t have a supported editor to place the menu on their pages.
We also have to work with several very different plug-in APIs, one for each of the HTML editors we need to support. Each one of these is totally different and offers different challenges.
For example, Dreamweaver has a mature plug-in API (where “mature” means “ancient and crusty”), and the support for binary (compiled) plug-ins is pretty rudimentary. Panic’s Coda has a nice SDK, although it’s new and fairly limited. MacRabbit Espresso has a sophisticated SDK but it’s also very new and limited. The list goes on.
At the same time, we need the new version of MenuMachine to create menus that are more sophisticated than MenuMachine 2’s, while also offering great accessibility and flexibility.
All of this takes time. We are trying to build an app that will be fairly bulletproof, and will generate menus that will work in the vast majority of users’ pages. We are doing our best to do this.
We want MenuMachine to be reborn just as much as all of you and we are getting there. The light is at the end of the tunnel. We’re working very, very hard.
I upgraded our support incident handling system about 10 days ago. Unfortunately, I only discovered yesterday that it has failed badly, not only is it not handling support emails properly but it also dumped almost 5GB of garbage data onto our web host’s server, which has not gone down well.
I am working on fixing the problem at present but it may take a day or so before it’s up and running again. If you have sent us a support query in the last week or so and have not had a response, I apologize profusely. We will respond to your enquiry as soon as is humanly possible.
Update July 2, 2009: We have moved to a new support platform, (FogBugz, if you’re interested), which should mean that support is back to normal. We’re handling the support queries that have slipped through the cracks on a case by case basis. Please let me know if you have any problems with the new system, although hopefully you won’t really notice a difference. Please also let me know if you have a support issue that has not been responded to.
I’ve had quite a few emails from many of you about the beta program for the new version of MenuMachine. We anticipate releasing the first beta to some of you in the next week or so, with more people added to the testing program as we proceed.
If you have contacted me about the beta, please be assured that you are on the list but do not be alarmed if you are not in the very first round of outside testing.
As you will have noticed, the blog hasn’t been updated for a while and some of you have been asking about what the state of MenuMachine is, and even if we are still working on it.
I can tell you that we are currently working extremely hard on getting it out the door.
We did hope to have it ready by the end of this quarter but unfortunately due to several unfortunate and non-development-related problems we have not been able to meet that estimate. We are currently looking at a release by mid-year.

