• Home

dispatches

Feeds:
Posts
Comments

Maemo Development – Getting Started

January 3, 2010 by John McCombs

As complete beginner in programming Maemo devices, I was looking for an easy way to get started.  Currently C++ is the only officially supported language for Maemo development.  The Maemo SDK provides the tools and the Scratchbox sandbox environment.  Scratchbox is a fairly full-featured Linux development environment and includes tools like like gdb, valgrind, ltrace and strace.   Setting up the SDK is a fair amount of work. However, there is a pre-built virtual machine for VMware with the SDK and ESBox IDE all set up an ready to go.  Still, all this is not exactly a dive-right-in toolset.

Fortunately there is a simpler way – Python.  The N900 has Python 2.5.4 and Xterm,  vi and PyMaemo.  This provides all you need to get started. Just type in a program and you’re in business. Here’s the hello world app from the PyMaemo documentation

import gtk
import hildon

def hello(widget, data):
 print "Hello World!"

def main():
 program = hildon.Program.get_instance()

 window = hildon.Window()
 program.add_window(window)
 window.connect("delete_event", gtk.main_quit, None)

 button = hildon.Button(gtk.HILDON_SIZE_AUTO, hildon.BUTTON_ARRANGEMENT_VERTICAL, "Hello world!")
 button.connect("clicked", hello, None)
 window.add(button)

 window.show_all()
 gtk.main()

if __name__ == "__main__":
 main()

To run the Python program,  use this command at the shell prompt.

run-standalone.sh python2.5 helloworld.py

Now typing on the N900 keyboard isn’t realistic. The Komodo IDE I use on the Mac has the ability to edit remote files via scp. Once you install the OpenSSH server on the N900 you’re in a position to directly edit files on the device with Komodo.

Posted in Uncategorized | Tagged maemo, n900, scratchbox, sdk | No Comments Yet

  • photostream

    Fatal Nectar

    More Photos
  • reading

  • RSS oddments

    • Danny MacAskell
    • Global warming circa 1957
    • A Brief History of Pretty Much Everything
    • augmented (hyper) reality
    • Nuit Blanche
    • Maria Callas sings “O mio babbino caro”
    • Photo
    • Beautiful CG piece - watch full screen
    • Video
    • Ellie Goulding - Starry Eyed
    • Christmas tree rocketry
    • Miles Davis covers Micheal Jackson
    • Messiah
    • Universe in 6 mins
    • kiwiright
  • RSS listening

    • Scott Hanselman – Hanselminutes #183 - Hanselminutes Live: Gadgets, Hi-Def, WebCams, 4G and More
    • Scott Hanselman – Hanselminutes #183 - Hanselminutes Live: Gadgets, Hi-Def, WebCams, 4G and More
    • O'Reilly Media Open Source Conference – ITC.oscon-Hohndel-2009.07.22
    • Jeff Atwood and Joel Spolsky – ITC.SO-Episode70-2009.10.13
    • Jeff Atwood and Joel Spolsky – ITC.SO-Episode70-2009.10.13
    • Emerging Communications – ITC.Ecomm-FlorentStroppa-2009.03.03
    • Jon Udell – ITC.INNO-DanielDebow-2009.10.07
    • Dr. Moira Gunn – ITC.TN-BellGemmell-2009.09.22
    • Scott Hanselman – Hanselminutes #181 - Monomania - Mono, MonoTouch, MonoSpace, and MonoVS with Joseph Hill and Scott Bellware
    • Jon Udell – ITC.INNO-StefanoMazocchi-2009.09.23
  • blogs

    • David Bryne Journal
    • Free Geography Tools
    • Gapminder
    • GPSTracklog
    • MetaFilter
    • NaviGadget
    • Planet Geospatial
    • Planet Intertwingly
    • sasurau – iPhonegrapher
    • Techmeme
    • TED
    • The Map Room
    • TheyWorkForYou.co.nz blog
    • Urban Cartography
    • Very Spatial
  • podcasts

    • BBC Global News
    • EconTalk
    • Hanselminutes
    • IT Conversations
  • Archives

    • January 2010
    • December 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008
  • Tags

    advertising apple Björk bzzt cloud cluetrain coltrane copyright data visualisation david byrne e71 economics education error messages facebook gps green haiku hp http internet iphone jazz maemo mapping meshell ndegeocello music n810 netbook nokia nztm osx photography podcasts projections python security steam ted terrorism tilt shift time lapse trains ubuntu wildlife
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.com

Blog at WordPress.com.

Theme: Mistylook by Sadish.