Mophun

Mophun is a computing platform used to run portable code on embedded and mobile devices. Some phones and other devices support Mophun. Sony Ericsson phones, especially the Sony Ericsson T300 and Sony Ericsson T610, are the best known devices for running Mophun. It was designed by Synergenix Interactive. Most Mophun programs are around 50–150 kB in size.
Programs for Mophun are written in assembler in C and C++ using a well-documented and open API. A special version of GCC is used to compile programs.
Despite the API being very easy for programmers to use, Mophun has not been very popular. The main reason for this seems to be the strict approval process - the compiled program can only be run under an emulator, and Synergenix must approve the program so it can be used on a mobile device. The approved program can only be run under one IMEI number. Only developers registered and approved by Synergix can use self-certification (and through the Synergenix server), and they are only allowed to have one IMEI number. The developer must sign a sales contract with Synergenix, which then shares and approves it for end-users, so the program can be shared. Such a process disallows free programs to be created for Mophun, and also discourages many developers from developing programs for Mophun.