Create Your First App For Ubuntu

Last night I created a tutorial video for how to get started creating your very first app for Ubuntu. In the tutorial I show you how to create a simple web browser by generating a new project, customizing the user interface, writing some code, and then generating a package.

You can see the video below:

Can’t see the video? No problem, click here!

Don’t forget to take part in the Ubuntu App Showdown (there are plenty of app ideas here)!

  • http://benjaminkerensa.com/ Benjamin Kerensa

    .< why not  “sudo apt-get install quickly” 

  • Kwabena Aning

    Thanks for this tutorial, looked at galde in the past but didn’t really get into it much. This has rekindled my interest. Can you make this source code available on a VCS somewhere?

  • http://profiles.google.com/krnekhelesh Nekhelesh Ramananthan

    Excellent tutorial! The most detailed I have seen in a long time. Please continue to make more of these..This could easily turn into a series which will raise the interest of everyone using Ubuntu to develop their own app. I mean this is so incredible!

  • Neha Sharma

    After adding this line

    self.scrolledwindow.add(self.webview) I get the following error:/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property “type” for object `Window’ can’t be set after construction  Gtk.Window.init(self, type=type, **kwds)Traceback (most recent call last):  File “bin/myapp”, line 33, in     myapp.main()  File “/home/neha/myapp/myapp/__init__.py”, line 33, in main    window = MyappWindow.MyappWindow()  File “/home/neha/myapp/myapp_lib/Window.py”, line 35, in __new__    new_object.finish_initializing(builder)  File “/home/neha/myapp/myapp/MyappWindow.py”, line 40, in finish_initializing    self.scrolledwindow.add(self.webview)AttributeError: ‘NoneType’ object has no attribute ‘add’And I am stuck. Help please

  • Simone

    Great tutorial. If you will ever do a second one, could you explain how to set application preferences and how to make application to read them when it starts? You could even make a blog post asking what people would like to see in a next tutorial.

    Thanks for listening ;)

  • ??????? ??????

    Could someone tell me what programming language (or environment) should I start with, in Linux, so it will be easier for me if there is a need to change it or learn a new one later.

  • http://www.facebook.com/elison.cearamor Elison Slipknot Maggot

    property: construct property “type” for object `Window’ can’t be set after construction Gtk.Window.init(self, type=type, **kwds) Traceback (most recent call last): File “bin/mybrowser”, line 33, in mybrowser.main() File “/home/elison/mybrowser/mybrowser/__init__.py”, line 33, in main window = MybrowserWindow.MybrowserWindow() File “/home/elison/mybrowser/mybrowser_lib/Window.py”, line 35, in __new__ new_object.finish_initializing(builder) File “/home/elison/mybrowser/mybrowser/MybrowserWindow.py”, line 41, in finish_initializing self.scrolledwindow.add(self.webview) AttributeError: ‘NoneType’ object has no attribute ‘add’

  • SimplySimon

    When I run the programme after adding the refresh() command I get the following Warnings and am unable to view the url entered into the address bar.

    /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property “type” for object Window' can't be set after construction Gtk.Window.__init__(self, type=type, **kwds) /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for objectMybrowserWindow’ can’t be set after construction Gtk.Window.init(self, type=type, **kwds) simon@ubuntu:~/mybrowser$ quickly run /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property “type” for object Window' can't be set after construction Gtk.Window.__init__(self, type=type, **kwds) /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for objectMybrowserWindow’ can’t be set after construction

    Gtk.Window.init(self, type=type, **kwds)

    Could you advise me on what I might have done wrong.

  • Uddhav

    This is one good “tutorial” ..I liked it ! Thank you !

  • Vipan

    I am following this tutorial but getting following error.Please help at your earliest

    self.scrolledwindow.add(self, webview) NameError: global name ‘webview’ is not defined

  • Vipan

    I am also getting same error

  • David Bailey

    I got this problem too – to fix: make sure you have typed self.scrolledwindow.add(self.webview) not self.scrolledwindow.add(self, webview)