Getting Started with Quickly

At the heart of what makes Linux thrive as an operating system are
applications. Within it is a vibrant, diverse range of applications,
satisfying even the most particular needs, all just a few clicks
away. With such an imaginative range of applications available,
a similarly vibrant developer community has formed, complete with a
vast array of tools, languages and functionality. Unfortunately, although
powerful, many of these tools are awkwardly complex, and many developers
have let their ideas and creativity become buried under an avalanche of
confusion around how those tools fit together.

Part of the cause of this problem is that many developer tools
cater only to systematic developers—the kind of code-writing workaholics
who hack for a living, with a fervent attention to detail backed up by
unit tests and other hallmarks of the professional programmer. There are,
however, developers of a different sort who are driven by writing practical
code, scratching their itches and having fun writing programs and
sharing them with others. These are opportunistic developers.

As part of our work in Ubuntu, we have been keen to harness opportunistic
developers and enable them to do great work using Ubuntu as a platform. As
part of this goal, we have developed a series of tools to make it simple for
you to break down the barrier between idea
and implementation, and help you to scratch your itches more quickly
and easily. One such tool is Quickly (wiki.ubuntu.com/Quickly).

Enter Quickly

Quickly gets you up and running (quickly, of course) writing an
application from scratch. Traditionally, writing desktop applications
has involved a not-insignificant amount of faffing required, with build
systems, source control, packaging frameworks, graphical interface tools
and other things that get in the way of writing code. Quickly is a tool
that simplifies how those different things fit together.

Quickly provides a framework with a series of templates for creating
different types of applications. With each template, a series of
opinionated decisions are made about the tools involved in creating that
application. By far, the most popular template and the one that Quickly
itself was created to satisfy is the Ubuntu template. This template uses
a set of tools that has become hugely popular in modern desktop
software development, and tools we have harnessed in Ubuntu. They are:

GTK: a comprehensive and powerful graphical toolkit for creating
applications and the foundation of the GNOME desktop environment.

GNOME: the desktop environment that ships with Ubuntu, offering many
integration facilities.

Glade: an application for creating user interfaces quickly and easily,
which then can be loaded right into your Python programs.

GStreamer: a powerful but deliciously simple framework for playing
back and creating audio, video and other multimedia content.

DesktopCouch: a framework for saving content in a database that is
fast and efficient, hooks neatly into Ubuntu One and is awesome for
replication.

gedit: for editing code—Quickly assumes you are going to use the text
editor that ships with Ubuntu, which provides a simple and surprisingly
flexible interface for writing your programs.

With this core set of tools, you can write any application
you can imagine and know that it will run effortlessly on Ubuntu and
other distributions. Let's make the magic happen.

Getting Quickly

Today, Quickly primarily is used on Ubuntu and is not currently packaged
for other distributions, although we hope this changes in the future
and that other distributions use Quickly too. If you are running Ubuntu,
getting Quickly is as simple as installing from the Ubuntu Software
Center or firing up a terminal and running:

sudo apt-get install quickly

After a few minutes, you should be up and running.

Creating a Project

With Quickly installed and ready to roll, let's start creating a
simple application. Fire up a terminal with
Applications→Accessories→Terminal, and enter the following command:

quickly create ubuntu-project myapp

This command uses Quickly to create a new Ubuntu Project called
myapp. You will see a flurry of lines fly past your eyes as Quickly
generates the new project and saves its various files inside a new
directory called myapp. When Quickly finishes generating the
project, it runs it automatically, and you should see a window that
looks remarkably similar to Figure 1.

Figure 1. Myapp Main Window

The generated application has a number of important elements common to
many applications, such as a menu bar, menu items and status bar, and it
also includes a label with some text and a rather nice Ubuntu circle of
friends image. Feel free to click through the menus and play with your
new program. It won't do much yet, but from this pre-existing base,
you now can turn it into any program you want.
Let's start working on it. First, go into the project directory:

cd myapp/

Quickly has a series of commands that each begin with the
quickly
command. The first command you need to know is how to run your
program. Simply use the run command:

quickly run

This runs your program and displays it on the screen. When you're
finished with the program, you can close it down either by clicking the
window close button or pressing Ctrl-C inside the terminal.

Now, let's create a really simple program that demonstrates how
basic development works with Quickly and its key components: Python and
the GTK widget set. To do this, the program will have a text entry box and
when you type in a word, it will search for that word on Google. Although
delightfully simple, it demonstrates the basics well and is a good place
to start.

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.