<p>I am creating an application for a Windows Mobile computer. The catch is that the device (<a href="http://www.motorola.com/business/v/index.jsp?vgnextoid=d4397b103d175110VgnVCM1000008406b00aRCRD" rel="nofollow noreferrer">Motorola MC17</a>) does not have a touch screen or universal keys - there are only six programmable hardware keys. <a href="http://en.wikipedia.org/wiki/Fitts%27s_law" rel="nofollow noreferrer">Fitt's law</a> is not applicable here, most Microsoft guidelines are also moot. For now I'm mimicking Nokia's S60 keyboard layout as close as possible, since it's the most popular phone platform among my target audience.</p>

<p><img src="https://i.stack.imgur.com/jsDo2.jpg" alt="Motorola MC17"/></p>

<p>Are there any guidelines for creating a simple, discoverable user interface on such a constrained device? What fonts and colours should I use to make my UI readable? How do I measure if the items on-screen are big enough? What conventions should I follow?</p>

Last time I checked, you could use the
module builder
to extend the interface. From 5.0 (or maybe 4.x) on, Sugar added all those APIs, which should enable you to extend SugarCRM without hacking it in and losing it with the next upgrade.
Hope that helps!