28.Jan.2007
On the above four screenshots one can see a simple mono application running in four different environments – windows xp, linux, nokia 770 and nokia n800. The binary has been compiled once and executed without any changes on the four different platforms.
The application in question (MonoEye) is a somewhat more advanced “hello world” – it’ll show a random picture of whatever the user enters in the entry box. It does so by picking up a random photo from flickr that has a given tag applied. So, when you enter ‘monkey’ you get a random photo of a monkey. Actually, sometimes you get other strange results – apparently some people are sane weird enough to tag their girlfriend photos with a ‘monkey’ tag.
In any case this simple application does something “real” and useful:
…and all this stuff works nicely on all the four mentioned platforms.
I don’t think being cross-platform is the biggest advantage of mono, but I smell some interesting opportunities here.
Powered by Mephisto with a micro theme mod
18 Comments
Python or Ruby would do the same, without the “compile” step. ;-)
Nice!
Gustavo, sure. But Python’s garbage collector unless your do gs.collect() manually all over the place, is not really good at knowing when to collect something.
As far as I can tell it simply counts the amount of Python lines that ran to determine whether or not to do a collect. Which would be fine if every piece of code that runs would have been written in Python.
This, however, is not the situation. The situation is that only a very very very tiny fraction of the code would be implemented in Python and the majority of the code would be implemented in something that got language binded to Python.
In other words: they should really, really, seriously, think more about their garbage collector before advising people to use it on mobile devices.
It might on the desktop world, but memory doesn’t grow on the trees in the mobile world. Using it doesn’t come for free either: it uses battery. And swap on jffs2 or LogFS might be possible, but due to level wearing not always a terrible good idea.
I did similar tests, to the ones that I used to figure this detect of Python out, because a defect it certainly is, with Mono’s garbage collector. Mono didn’t have this problem. And it as the “uses” syntax which improves it even more (they say, I haven’t in-depth tested with uses).
It’s great to see mono run on mobile phones!
Nice hack!
Thanks for the screenshots ;-)
Couldn’t you post a compiled version for linux? Please!
Very promising! :)
Is it possible to ‘hildonize’ it and still run the same binary everywhere?
Is your ajax comment field broken? (I’m on N800)
Yes, it is. The comment form doesn’t go away after submitting.
Anyone else remember the trouble Microsoft got into when they tagged their images with the word monkey!
The linked image was not only tagged with monkey but also with the tag spank as the women was wearing dress with a rather revealing back(side).
Binary portability is impressive but far too few applications pay attention to keeping their user interface scalable enough that they could run unchanged on a portable device. Even worse far too many applications will not run on older low resolution desktops with two panels.
Would be great to see more comparisons like this in future, and portability is a big factor Mono has in its favour.
apologies for the multiple posts the feedback is poor, the submission form stays onscreen after you post and it didn’t seem like the post had gone through.
please delete the duplicates and this post too if at all possible
How do you compile it?
Python GC is not that bad, some bindings (eg gtk) are, some are not.
However, all in all, most applications are just short automation. They require faster startup, that’s the only are were python is still bad for embedded systems. Mono is also slow… so no real benefit here.
I love MonoEye - Any chance of a deb?
Also, where did you find the background image on the n800?
Would it run on OS X?
Thank you for keeping my motivation up on the 770 and 800. Great job. Keep it up ;)
right now, how hard is to setup mono on the vanilla “scirocco” 770?
sound very atractive, anyway =-)
Sorry, comments are closed for this article.