I have recently published one and initally it would only work on the iPhone, as that is all I had to test it on. It did take a lot of playing around to even get it to work on that, so I would say it is not an easy thing to do, but it may be I did not start with a very basic cartridge.
After publishing it I was notified by the first people to try it that it did not work on the Garmin Oregon and Andriod phones .
I have since managed to borrow a Garmin from a local cacher and I managed to tweak the cartridge to work on the Garmin eventually. Only to find it then did not work on the iPhone!!! A few more hours of tweaking and I eventually managed to get it to work on the Garmin and iPhone. I still have no idea about the Andriod phones yet, but I may have a gueinea pig testing it for me soon
To sum up:
I would say it was fun, but then I am a software developer, so I like this type of challenge.
It is going to take you some considerable time to learn how to build the cartridges, so you need to keep plugging away at it, just remember there is more than one way of doing anything.
Before releasing test the cartridge on as many different bits of equipment that you can beg or borrow from your friends.