Joelbryan on Software

I love creating software, this is my dream. My goal is to create as much as possible open source software. Help me by suggesting one.

Monday, March 05, 2007

File System Preferences


This is a File System layout tool for Gnome that allows you to change the "File System" views into a more user-friendly approach.



When set to User-Friendly mode, the original File System structure will be hidden, and will create symbolic links instead.










Home > /home
Libraries
- Background > /usr/share/backgrounds
- Faces > /usr/share/pixmaps/faces
- Fonts > /usr/share/fonts
- Icons > /usr/share/icons
- Pixmaps > /usr/share/pixmaps
- Sounds > /usr/share/sounds
- Themes > /usr/share/themes
Media > /media
Programs > /usr/share/applications
System
- Boot > /boot
- Configurations > /etc
- Devices > /dev
- Kernel > /proc
- Variables > /var
- Programs > /usr

The software is available here

Thursday, March 01, 2007

Internet Cache Setup

Easily configure Squid to use ICP and as a personal cache server.

Internet Cache Setup makes it easier to configure squid to use as a local
cache server, as well as to use multicast ICP cache sharing to speed up the
internet on the network. It can also configure an external proxy address
within the GUI interface.

The software is available here

Multicast Filesharing


A GUI that easily configures your system to make multicast file transfers to send files to many computers at once, using multicast protocol. This can be helpful for classrooms to simplify the process of sending files throughout all the computer.

The software is available in here

Sunday, June 04, 2006

#9 Documents Templates Generator

Summary

The software aims to provide translated documents under $HOME/Templates, based on localecode and software installed.

Rationale

GNOME have the functionality to create new documents based on templates. The feature is available via right-click action and "Create Document". However, the functionality is not well used because the Templates directory with the documents inside it, does not exist by default.

Use cases

  • Grandpa just used Ubuntu, and would like to create a document with the same thing he does in Windows. He use and select "Create Documents > OpenOffice.org Spreadsheet".

Scope

The application will query the localecode the user currently use and based on it, a set of predefined translation for that particular localecode will be used for the Template document names.

The document view must exists in order for the Template documents to be created.

Design

The names will be based on the localecode. If the localecode isn't included yet, a fallback value is used.

Also, application will be checked if it exist. If no application for a particular document is installed, the Templates document will not be created.

Implementation

Code

templates-generator-0.1.tar.gz

This is the first release, fully functional, just run ./templates-generator and it will create the Templates documents based on your locale and application installed.

Data preservation and migration

If the Templates directory already exists, the files will not be overwritten.

Wednesday, May 31, 2006

#8 Desktop Optimization

Summary

XML Optimization is a set of method that reformat the XML metadata for use with XML stream. The process is used in websites to minimize network bandwidth consumption and increase the memory space for the applications who store them locally. XML metadata is used by modern applications like OpenOffice.org, GNOME, Evolution, Rhythmbox, GDM, etc., and is used in SVG graphic rendering. By Optimizing the XML metadata that those applications use, the application who parse them will require less memory usage, and less time parsing, thus improving speed and responsiveness.

Rationale

OpenOffice.org alone contains 847 XML Metadata, and a fresh install Ubuntu system contains thousands of XML files. XML metadata plays a big role in today's applications. and optimization for those XML files for improved user experience is not yet being used.

Scope

By XML Optimization, the metadata will be preformatted, by removing the whitespace between the tags, and compacting the whole XML content into a single line, without making any changes in the data inside the tags. The process will make the file much smaller, giving increased memory space, and increased ease for the xml parser to read it.

Design

The first phase is to remove the whitespace, tabs, and new lines. The second phase is to compact the whole XML data into a single line. The third phase is to repeat the process again for the optimized XML metadata.

Implementation

The optimized XML metadata should be preshipped with the application who uses it.

Benchmarks

No benchmark data had yet been produce, I would like to ask for community members for help.

Code

Code

Application

Affected

rhythmbox-quickstart

Rhythmbox

XML files in rhythmbox_database_dir="$HOME/.gnome2/rhythmbox"

evolution-optimize

Evolution Groupware

XML files in evolution_libdir="/usr/lib/evolution" evolution_sharedir="/usr/share/evolution"

openoffice-optimizer

OpenOffice.org 2

XML files in openoffice_dir="/usr/lib/openoffice".

gnome-optimize

GDM, SVG themes, Mime

XML files in themes_dir="/usr/share/themes" icons_dir="/usr/share/icons" gdm_dir="/usr/share/gdm" pixmaps_dir="/usr/share/pixmaps" mime_dir="/usr/share/mime"

gconf-optimize

Gconf

XML files in gconf_share_dir="/usr/share/gconf" gconf_etc_dir="/etc/gconf" gconf_home_gnome_dir="$HOME/.gnome2" gconf_home_gconf_dir="$HOME/.gconf"

doc-optimize

Shared documents, Yelp

XML files in doc_dir="/usr/share/doc" yelp_dir="/usr/share/yelp"

Data preservation and migration

Outstanding issues

Since the XML files are compacted, human readability of those metadata will be affected. We should check if the gain in performance makes up the loss in human readability.

BoF agenda and discussion

Benchmark the results.

  • One alternative to correct the draw back of human readability would be to create a Universal Metadata Reader Applet, something that could be used individually to read Document Metadata but also could be integrated into the desktop search bar in the future for searching document Metadata through a call out within the individual applet. Since the XML files are compacted, human readability of those metadata will be affected. We should check if the gain in performance makes up the loss in human readability

#7 Gnome Bling Manager

Summary

An interface to easily configure gnome desktop effects.

Rationale

With the variety of different ways to enable effects in desktop, users will be like to turn it on or off, an easy tool to do it will help them configure their desired effects for their desktop.

Scope

A desktop menu entry will be created in "System > Preferences > Graphical Desktop Effects" that will configure Xgl/Compiz or xcompmgr based effects.

Design

The interface must easily allow user to configure their desired effects based on what effects and method they choose.

Screenshots

gnome-bling-manager-1.png

gnome-bling-manager-2.png

Code

gnome-bling-manager-0.1.tar.gz

The software is written using GTK+ 2.0 API, and C.

Binary Package

gnome-bling-manager_0.1-1_i386.deb

Data preservation and migration

The software will overwrite $HOME/.Xsession file and sets it with execute permission. It is advisable to create a backup of this file.

#6 Ubuntu Welcome Center

Info is still under construction, see the welcome center link for deb package.

#5 Ubuntu Common Hooker

Summary

UbuntuCommonHooker aims to provide an interface for unknown file extensions to automatically install a certain packages when it's called.

Rationale

New users will find it difficult to open a particular file, because there are no installed viewers for it.

Use cases

Eduard is a schizophrenic, however his only obession and a way to calm him down is listening to "Veronika Plays Piano, volume 1" which is encoded in MP3. Veronika is his friend who recently got a copy of Ubuntu Linux, and tried it on Eduard's computer. However, Eduard just find out that he can't play his MP3's.

Dr. Igor use ".rar" extension to compress his research, however, Villete decides to migrate to Ubuntu Linux. But when Dr. Igor tryies to open "Vitriol.rar, and Zedka.rar", it say's "Error cannot open file!"

Okonkwo tried Ubuntu Linux for the first time, however, when he tried to open "Wresting with Amalinze.mpg", he is prompted that "there are no codecs to view this file", However, Okonkwo's father Onuka had no problems opening .mpg files, but Okonkwo doesn't like to use Windows like his father did.

Scope

The software will support the following file input.

File Type

Description

Open With

ZIP, RAR, ARJ, ACE

Compressed Files

File-Roller

MP3, WMA, AAC, M4A

Audio Codecs

Rhythmbox (gstreamer)

RAM, RM

Real Media Codecs

Totem (gstreamer)

MPG, MOV

Video Files

Totem (gstreamer)

CBZ, CBR

Comics Files

Comix

CHM

Compiled Help Document

xCHM

It will automatically install the necessary applications to view those particular files.

Design

The software will be linked to those particular file extensions, (e.g. Open With), and will have a gnome-settings-default-applications icon.

ubuntu-common-install-hooker-implimentation-0.1.png

Screenshots

Archives

ubuntu-common-install-hooker-rar-0.1.png ubuntu-common-install-hooker-arj-0.1.png

Music Audio Files

ubuntu-common-install-hooker-mp3-0.1.png ubuntu-common-install-hooker-aac-0.1.png

Video and Movie Files

ubuntu-common-install-hooker-mov-0.1.png ubuntu-common-install-hooker-mpg-0.1.png

Document Files

ubuntu-common-install-hooker-cbr-0.1.png ubuntu-common-install-hooker-chm-0.1.png

Implementation

The software will determine a particular file by it's file extension, expected input is not case-sensitive, that means, .ZiP, .ZIP .zIP will automatically identified.

Code

The Code is written in Gtk+ 2.0, C, and sh as a backend script.

Source

ubuntu-common-hooker-0.1.tar.gz

Binary

ubuntu-common-hooker_0.1-1_i386.deb

Data preservation and migration

The original file will not be over written.


#4 Ubuntu Commercial Support

Summary

The UbuntuCommercialSupport aims to provide an interface for getting commercial support from Canonical Ltd, right into "System > Help > Commercial Support"

Rationale

Companies and businesses can't rely on getting support from random individuals. What they need is a dedicated 24/7 technical support from a company that offers that kind of services, and knows exactly what they need. The fate of their solutions and operations depends on good support.

Non-technical users are likely to have a problem of knowing exactly what they need. Alot of users don't know anything about technical details, and sometimes they are having a hard time putting up the right questions together. Technical people in chat rooms are most likely to be impatient about non-technical users who asks unappropriate questions. A non-technical user may be terrified of getting answers from chat rooms because of the fear of unappropriate technical questions. What they need is a 24/7 dedicated service support where they can be confident to ask questions.

A concrete support for a specific company that uses complex solutions, requires full technical details, and absolute answer. Random individuals from chat rooms are unlikely to be inexperience about a certain question for a complex systems. What they need is a 24/7 dedicated support service that knows exactly the answers from what they are asking for.

Scope

This will use evolution mail to send message to [MAILTO] support@canonical.com. In the message, the user will be prompted to enter his/her billing information.

Design

Invocation and overall design

The software will be linked right into "System > Help > Commercial Support", it will asks a user with what support options he/she would like to subscribe and how many years would it be.

Billing Information

Credit card information will be sent through e-mail, before sending anything to [MAILTO] support@canonical.com.

Inquiries

This will be possible in the software via a "Contact Canonical Ltd." Button.

Screenshots

Introduction Screen

ubuntu-commercial-support-intro-0.2.png

Ordering Support Options Screen

ubuntu-commercial-support-order-0.2.png

Providing Information

ubuntu-commercial-support-info-0.2.png

Sending the information

ubuntu-commercial-support-email-0.2.png

Code

The software is written in GTK+2.0, C.

Source Package

ubuntu-commercial-support-0.2.tar.gz Small and stable release!,

Binary Package

ubuntu-commercial-support_0.2-1_i386.deb

#3 Ubuntu Home Backup

Summary

The UbuntuHomeBackup aims to provide an interface to easily create backups of your files in any medium. It backup your settings, home directory or system files by a simple step-by-step interface that guide you into the process.

Rational

Ubuntu Linux is growing, and people would be using it for everyday use. However, file loss and critical data corruption is likely to happen accidentally or by hardware or software faults. Mediums of data storage keeps getting cheaper, and much easier to access, but currently, it is not yet used by backup tools.

Scope

The backup tool will be able to use CD-R/RW Recordable Disc, USB Disk Drive, E-Mail, FTP Network Servers, Apple iPod, and Local Directory as a backup medium. Backups of the user's home directory files, settings, or system files like /home, /etc, and /var would be available in the interface.

Design

Invocation and Overall Design

The software will be linked right into "System > Administration > Backup" menu. and will have a stock harddisk icon. A selection of what files would be available for backup, and what storage medium would be used.

Screenshots

Selection of files to be backup

ubuntu-home-backup-1.png

Selection of storage mediums

ubuntu-home-backup-2.png

E-mail storage medium

ubuntu-home-backup-email.png

FTP storage medium

ubuntu-home-backup-ftp.png

Administrator backup

ubuntu-home-backup-admin.png

Backup label name

ubuntu-home-backup-label.png

Backup compression method

ubuntu-home-backup-compression.png

Final Screen

ubuntu-home-backup-final.png

GUI file extraction

This would be available along with the backup files if disk medium is used as a backup storage. The user simply double click the application to easily extract the files to the directory.

Code

The code is written in GTK+, C, sh and perl as a scripting backend.

Source Package

ubuntu-home-backup-0.1.tar.gz

Version 0.1 "No one accepts my 5 cents and 10 cents anymore."

This is the first release of the software, but it's quite stable, FTP and GUI file extraction is still WIP. I really love feedbacks! :-)

Installation

It does not require other dependencies other than build-essentials and GTK+ 2.0 Libraries. It can be installed by standard configure, make & make install

However, if it doesn't work, run ./autogen --prefix=/usr

#2 Ubuntu Live Chat Support

Summary

The UbuntuLiveChatSupport aims to provide an interface to communicate to other ubuntu users with the same language & location, as well as to connect to the official ubuntu channel in Freenode.org. It also aims to get live chat support from ubuntu users right into the desktop menu, via "System > Help > Live Chat Support".

Rationale

People who don't speak english and want local support in their language will face a challenge to gain help in existing documentations, specially when there are just a few documentations for their language. But if they speak to someone that can understand their language, they can talk to an experienced user to provide them with answers. It might as well be positive, because there might be a good chance that they will collaborate on translation of documentations and software for their language, as well as contributing to the Ubuntu work.

Another problem with the current way of getting help in Ubuntu requires the user to read and browse documentations, but what most users really want is getting the right answers to the questions straight. Browsing and reading documentations sometimes require one to research on a particular problem. But to get the right answer from an experience user is the most easiest way.

Scope

This will use Gaim as an IRC client, but will not alter the main Gaim configurations. It will add the IRC channels defined in InternetRelayChat in Gaim buddy list, namely, Support Channels, and Team Collaboration Channels. Localization channels defined in this page is added automatically.

Localization

The user's location & language will be the basis of the default channel that will be automatically joined.

#ubuntu- is the default channel, wherein is based on their country. However, #ubuntu will also be added to the auto-join list.

Here are the list of the channels and their descriptions

Locale Code

Country

Channel Definition

AD

(Andorra)

Ubuntu Channel

AE

(United Arab Emirates)

Ubuntu Channel

AL

(Albania)

Ubuntu Channel

AM

(Armenia)

Ubuntu Channel

AR

(Argentina)

Ubuntu Channel

AT

(Austria)

Ubuntu Channel

AU

(Australia)

Ubuntu Channel

AZ

(Azerbaijan)

Ubuntu Channel

BA

(Bosnia)

Ubuntu Channel

BD

(Bangladesh)

Ubuntu Channel

BE

(Belgium)

Ubuntu Channel

BG

(Bulgaria)

Ubuntu Channel

BH

(Bahrain)

Ubuntu Channel

BO

(Bolivia)

Ubuntu Channel

BR

(Brazil)

Ubuntu Channel

BT

(Bhutan)

Ubuntu Channel

BW

(Botswana)

Ubuntu Channel

BY

(Belarus)

Ubuntu Channel

CA

(Canada)

Ubuntu Channel

CH

(Switzerland)

Ubuntu Channel

CL

(Chile)

Ubuntu Channel

CN

(China)

Ubuntu Channel

CO

(Colombia)

Ubuntu Channel

CR

(Costa Rica)

Ubuntu Channel

CS

(Serbia and Montenegro)

Ubuntu Channel

CY

(Cyprus)

Ubuntu Channel

CZ

(Czech)

Ubuntu Channel

DE

(Germany)

Ubuntu Channel

DJ

(Djibouti)

Ubuntu Channel

DK

(Denmark)

Ubuntu Channel

DO

(Dominican Republic)

Ubuntu Channel

DZ

(Algeria)

Ubuntu Channel

EC

(Ecuador)

Ubuntu Channel

EE

(Estonia)

Ubuntu Channel

EG

(Egypt)

Ubuntu Channel

ER

(Eritrea)

Ubuntu Channel

ES

(Spain)

Ubuntu Channel

ET

(Ethiopia)

Ubuntu Channel

FI

(Finland)

Ubuntu Channel

FO

(Faroe Islands)

Ubuntu Channel

FR

(France)

Ubuntu Channel

GB

(Great Britain)

Ubuntu Channel

GE

(Georgia)

Ubuntu Channel

GL

(Greenland)

Ubuntu Channel

GR

(Greece)

Ubuntu Channel

GT

(Guatemala)

Ubuntu Channel

HK

(Hong Kong)

Ubuntu Channel

HN

(Honduras)

Ubuntu Channel

HR

(Croatia)

Ubuntu Channel

HU

(Hungary)

Ubuntu Channel

ID

(Indonesia)

Ubuntu Channel

IE

(Ireland)

Ubuntu Channel

IL

(Israel)

Ubuntu Channel

IN

(India)

Ubuntu Channel

IQ

(Iraq)

Ubuntu Channel

IR

(Iran)

Ubuntu Channel

IS

(Iceland)

Ubuntu Channel

IT

(Italy)

Ubuntu Channel

JO

(Jordan)

Ubuntu Channel

JP

(Japan)

Ubuntu Channel

KE

(Kenya)

Ubuntu Channel

KG

(Kyrgyzstan)

Ubuntu Channel

KH

(Cambodia)

Ubuntu Channel

KR

(South Korea)

Ubuntu Channel

KW

(Kuwait)

Ubuntu Channel

KZ

(Kazakhstan)

Ubuntu Channel

LA

(Laos)

Ubuntu Channel

LB

(Lebanon)

Ubuntu Channel

LK

(Sri Lanka)

Ubuntu Channel

LT

(Lithuania)

Ubuntu Channel

LU

(Luxemburg)

Ubuntu Channel

LV

(Latvia)

Ubuntu Channel

LY

(Libya)

Ubuntu Channel

MA

(Morocco)

Ubuntu Channel

MG

(Madagascar)

Ubuntu Channel

MK

(Macedonia)

Ubuntu Channel

MN

(Mongolia)

Ubuntu Channel

MT

(Malta)

Ubuntu Channel

MX

(Mexico)

Ubuntu Channel

MY

(Malaysia)

Ubuntu Channel

NI

(Nicaragua)

Ubuntu Channel

NL

(Netherlands)

Ubuntu Channel

NO

(Norway)

Ubuntu Channel

NP

(Nepal)

Ubuntu Channel

NZ

(New Zealand)

Ubuntu Channel

OM

(Oman)

Ubuntu Channel

PA

(Panama)

Ubuntu Channel

PE

(Peru)

Ubuntu Channel

PH

(Philippines)

Ubuntu Channel

PK

(Pakistan)

Ubuntu Channel

PL

(Poland)

Ubuntu Channel

PR

(Puerto Rico)

Ubuntu Channel

PT

(Portugal)

Ubuntu Channel

PY

(Paraguay)

Ubuntu Channel

QA

(Qatar)

Ubuntu Channel

RO

(Romania)

Ubuntu Channel

RU

(Russia)

Ubuntu Channel

RW

(Rwanda)

Ubuntu Channel

SA

(Saudi Arabia)

Ubuntu Channel

SD

(Sudan)

Ubuntu Channel

SE

(Sweden)

Ubuntu Channel

SG

(Singapore)

Ubuntu Channel

SI

(Slovenia)

Ubuntu Channel

SK

(Slovak)

Ubuntu Channel

SN

(Senegal)

Ubuntu Channel

SO

(Somalia)

Ubuntu Channel

SV

(El Salvador)

Ubuntu Channel

SY

(Syrian Arab Republic)

Ubuntu Channel

TH

(Thailand)

Ubuntu Channel

TJ

(Tajikistan)

Ubuntu Channel

TN

(Tunisia)

Ubuntu Channel

TR

(Turkey)

Ubuntu Channel

TW

(Taiwan)

Ubuntu Channel

UA

(Ukraine)

Ubuntu Channel

UG

(Uganda)

Ubuntu Channel

US

(United States of America)

Ubuntu Channel

UY

(Uruguay)

Ubuntu Channel

UZ

(Uzbekistan)

Ubuntu Channel

VE

(Venezuela)

Ubuntu Channel

VN

(Vietnam)

Ubuntu Channel

XX

(Peace)

Ubuntu Channel

YE

(Yemen)

Ubuntu Channel

YU

(Yugoslavia)

Ubuntu Channel

ZA

(South Africa)

Ubuntu Channel

ZW

(Zimbabwe)

Ubuntu Channel

The format that will appear to the buddy list would be like this:

Philippines Ubuntu Channel

All of the above localized channels would be added in gaim's buddy list, under Local Channels.

Language

Language Code

Language Name

Channel Description

aa

(Afar)

Speaking Ubuntu Channel

af

(Afrikaans)

Speaking Ubuntu Channel

am

(Amharic)

Speaking Ubuntu Channel

an

(Aragonese)

Speaking Ubuntu Channel

ar

(Arabic)

Speaking Ubuntu Channel

ast

(Asturian)

Speaking Ubuntu Channel

az

(Azeri)

Speaking Ubuntu Channel

be

(Belarusian)

Speaking Ubuntu Channel

bg

(Bulgarian)

Speaking Ubuntu Channel

bn

(Bengali)

Speaking Ubuntu Channel

br

(Breton)

Speaking Ubuntu Channel

bs

(Bosnian)

Speaking Ubuntu Channel

byn

(Blin)

Speaking Ubuntu Channel

ca

(Catalan)

Speaking Ubuntu Channel

csb

(Kashubian)

Speaking Ubuntu Channel

cs

(Czech)

Speaking Ubuntu Channel

cy

(Welsh)

Speaking Ubuntu Channel

da

(Danish)

Speaking Ubuntu Channel

de

(German)

Speaking Ubuntu Channel

dz

(Dzongkha)

Speaking Ubuntu Channel

el

(Greek)

Speaking Ubuntu Channel

en

(English)

Speaking Ubuntu Channel

eo

(Esperanto)

Speaking Ubuntu Channel

es

(Spanish)

Speaking Ubuntu Channel

et

(Estonian)

Speaking Ubuntu Channel

eu

(Basque)

Speaking Ubuntu Channel

fa

(Persian)

Speaking Ubuntu Channel

fi

(Finnish)

Speaking Ubuntu Channel

fo

(Faroese)

Speaking Ubuntu Channel

fr

(French)

Speaking Ubuntu Channel

fur

(Furlan)

Speaking Ubuntu Channel

fy

(Frisian)

Speaking Ubuntu Channel

ga

(Irish)

Speaking Ubuntu Channel

gd

(Gaelic)

Speaking Ubuntu Channel

gez

(Geez)

Speaking Ubuntu Channel

gl

(Galician)

Speaking Ubuntu Channel

gu

(Gurajati)

Speaking Ubuntu Channel

gv

(Gaelic)

Speaking Ubuntu Channel

he

(Hebrew)

Speaking Ubuntu Channel

hi

(Hindi)

Speaking Ubuntu Channel

hr

(Croatian)

Speaking Ubuntu Channel

hsb

(Sorbian)

Speaking Ubuntu Channel

hu

(Hungarian)

Speaking Ubuntu Channel

hy

(Armenian)

Speaking Ubuntu Channel

id

(Indonesian)

Speaking Ubuntu Channel

ik

(Inupiaq)

Speaking Ubuntu Channel

is

(Icelandic)

Speaking Ubuntu Channel

it

(Italian)

Speaking Ubuntu Channel

iu

(Inuktitut)

Speaking Ubuntu Channel

iw

(Hebrew)

Speaking Ubuntu Channel

ja

(Japanese)

Speaking Ubuntu Channel

ka

(Georgian)

Speaking Ubuntu Channel

kk

(Kazakh)

Speaking Ubuntu Channel

kl

(Greenlandic)

Speaking Ubuntu Channel

km

(Khmer)

Speaking Ubuntu Channel

kn

(Kannada)

Speaking Ubuntu Channel

ko

(Korean)

Speaking Ubuntu Channel

ku

(Kurdish)

Speaking Ubuntu Channel

kw

(Cornish)

Speaking Ubuntu Channel

ky

(Kyrgyz)

Speaking Ubuntu Channel

lg

(Luganda)

Speaking Ubuntu Channel

li

(Limburgish)

Speaking Ubuntu Channel

lo

(Lao)

Speaking Ubuntu Channel

lt

(Lithuanian)

Speaking Ubuntu Channel

lv

(Latvian)

Speaking Ubuntu Channel

mg

(Malagasy)

Speaking Ubuntu Channel

mi

(Maori)

Speaking Ubuntu Channel

mk

(Macedonian)

Speaking Ubuntu Channel

ml

(Malayalam)

Speaking Ubuntu Channel

mn

(Mongolian)

Speaking Ubuntu Channel

mr

(Marathi)

Speaking Ubuntu Channel

ms

(Malay)

Speaking Ubuntu Channel

mt

(Maltese)

Speaking Ubuntu Channel

nb

(Norwegian)

Speaking Ubuntu Channel

nds

(Neddersassisch)

Speaking Ubuntu Channel

ne

(Nepali)

Speaking Ubuntu Channel

nl

(Dutch)

Speaking Ubuntu Channel

nn

(Nynorsk)

Speaking Ubuntu Channel

no

(Norwegian)

Speaking Ubuntu Channel

nr

(Ndebele)

Speaking Ubuntu Channel

nso

(Sotho)

Speaking Ubuntu Channel

oc

(Occitan)

Speaking Ubuntu Channel

om

(Oromo)

Speaking Ubuntu Channel

pa

(Punjabi)

Speaking Ubuntu Channel

ph

(Filipino)

Speaking Ubuntu Channel

pl

(Polish)

Speaking Ubuntu Channel

pt

(Portuguese)

Speaking Ubuntu Channel

ro

(Romanian)

Speaking Ubuntu Channel

ru

(Russian)

Speaking Ubuntu Channel

rw

(Kinyarwanda)

Speaking Ubuntu Channel

sa

(Sanskrit)

Speaking Ubuntu Channel

sc

(Sardinian)

Speaking Ubuntu Channel

se

(Saami)

Speaking Ubuntu Channel

sid

(Sidama)

Speaking Ubuntu Channel

si

(Sinhala)

Speaking Ubuntu Channel

sk

(Slovak)

Speaking Ubuntu Channel

sl

(Slovenian)

Speaking Ubuntu Channel

so

(Somali)

Speaking Ubuntu Channel

sq

(Albanian)

Speaking Ubuntu Channel

sr

(Serbian)

Speaking Ubuntu Channel

ss

(Swati)

Speaking Ubuntu Channel

st

(Sotho)

Speaking Ubuntu Channel

sv

(Swedish)

Speaking Ubuntu Channel

ta

(Tamil)

Speaking Ubuntu Channel

tg

(Tajik)

Speaking Ubuntu Channel

th

(Thai)

Speaking Ubuntu Channel

tig

(Tigre)

Speaking Ubuntu Channel

ti

(Tigrigna)

Speaking Ubuntu Channel

tl

(Tagalog)

Speaking Ubuntu Channel

tn

(Tswana)

Speaking Ubuntu Channel

tr

(Turkish)

Speaking Ubuntu Channel

ts

(Tsonga)

Speaking Ubuntu Channel

tt

(Tatar)

Speaking Ubuntu Channel

uk

(Ukrainian)

Speaking Ubuntu Channel

ur

(Urdu)

Speaking Ubuntu Channel

uz

(Uzbek)

Speaking Ubuntu Channel

ve

(Venda)

Speaking Ubuntu Channel

vi

(Vietnamese)

Speaking Ubuntu Channel

wal

(Walaita)

Speaking Ubuntu Channel

wa

(Walloon)

Speaking Ubuntu Channel

wo

(Wolof)

Speaking Ubuntu Channel

xh

(Xhosa)

Speaking Ubuntu Channel

yi

(Yiddish)

Speaking Ubuntu Channel

zh

(Chinese)

Speaking Ubuntu Channel

zu

(Zulu)

Speaking Ubuntu Channel

All of the above languages channel would be added in gaim's buddy list, under Local Language Channels.

Default Channels

Gaim's buddy-list will include a group called "Default", and will be based on the user's language and location. It will contain #ubuntu, #ubuntu-, and #ubuntu-

Design

Invocation and overall design

The software will be linked right into "System > Help > Live Chat Support" menu, and will have the stock people icon. It will have an intro screen, a freenode.org login screen, a register button. By registering to freenode.org, an information will be displayed about the advantages of registering their nick, and guides you to registration process. It automates the registration based on the information provided. It also includes nick availability option to check if the nick is available, or currently using it.

Registration System

By registering, the user will have alot of advantages, user will have a nick that he/she can use over and over again. People will also know the user by reputation, and how the user communicates to other user. Registered users can also send private messages to other registered users.

Basic and Personal Information

Basic information are the required information by Freenode. All personal information is handled by NickServ including optional informations.

Optional information are non required information by Freenode. Users can personalize them.

Basic Information
  • Nick/Username

  • Password

  • E-Mail Address

Optional Information
  • Website/URL

  • Phone Number

  • GSM/SMS Cellular Phone Number

Recommended Website/URL Format

Need to include [WWW] http://

example: [WWW] http://www.example.com

Recommended Phone Number Format

International Phone Format

  • +xxx-(yyy)-zzz-zzzz

Where:

  • xxx = Country Code

  • yyy = Area or City Code

  • zzz-zzzz = Local Number

example: +1-(800)-123-4567

Recommended GSM/SMS Cellular Phone Number Format

International GSM/SMS Phone Number Format

  • +8812345678

Where:

  • 88 = Country Code

  • 12345678 = Cellphone number without leading 0

Desktop Integration

Nautilus integration and Evolution mail integration is enabled by default. This would be easy to send files to a user in IRC.

Profile Handling

Preferences and Buddy List will be saved for a particular Nick. Every nick will create a seperate profile for the current session. The seperate profile will be configurable and be used over and over again.

Screenshots

Menu

ubuntu-live-chat-support-menu.0.3.14.png

The software aims to be launched via System > Help > Live Chat Support

Introduction Screen

ubuntu-live-chat-support-intro-0.3.14.png

The intro screen will tell the users about the process, and provide a brief introduction about the software.

Login screen

The login screen will ask about their freenode.org username and password. However, if they are not yet registered, they will be prompted to click the "Register" button.

Registered user handling

Login screen have a disabled button if no password is given, this ensures logging of registered nick. However, non-registered user can still login, by clicking the "Use unregistered login" checkbox.

ubuntu-live-chat-support-login-registered-0.3.14.png

It will also auto set the nick based on the user's account, for example, if Foo Roberts uses "fooroberts" as an account to login to his computer, then "fooroberts" will be set as a nick in Ubuntu Live Chat Support.

If he register the nick "xroberts" using the wizard, then "xroberts" would be automatically set in the login dialog. His new registered nick will be set everytime he uses Ubuntu Live Chat Support.

Non-Registered user handling

By clicking the "Use unregistered login" checkbox, a user's nick will have a "guest_" prefix. for example, foo would be guest_foo.

ubuntu-live-chat-support-login-unregistered-0.3.14.png

When the user click the checkbox, the password field would be disabled, and the "Connect" button would be enabled.

Settings

Users can choose different layout by clicking the settings button.

ubuntu-live-support-0.3.14-7-settings.png

The "Default Layout" is the default gaim layout, where the channels is on top tab, and channel aliases is turned on.

The "Alternative Layout" is the xchat-alike layout, where the channels is on left tab, and channel aliases is turned off.

Registration

Intro screen about advantages on registering a nick.

The intro screen will tell the user about the advantages of registering their nick. The intro screen is targetted for Ubuntu users getting technical support in his/her computer in Freenode.

ubuntu-live-chat-support-register-intro-0.3.14.png

Checking nick's availability.

In the first step of registration, a user can check the nick's availability by clicking the "Check Availability" button. The nick entered here will be used for the final step of registration.

ubuntu-live-chat-support-register-check-0.3.14.png

Sending Registration

The nick that will be sent to freenode will be defined by the previous step. If a user's nick is taken, it will tell the user to choose another nick, and be able to check it's availability again, until a unavailable nick is found. This step will ask the user's basic information as well as the optional information. The password & confirm password should be identical to send the registration. A warning feedback will appear when the passwords are not identical.

ubuntu-live-support-0.3.14-7-register.png

Privacy

User can set their information private when they unclick the "Share my personal information to other users" checkbox.

Fail-Proof Registration System

When a failure occurs by either a system shutdown or when the user cancel's the registration process, the software will cleanup an incomplete registration in Freenode, and restarts the registration process again.

Logging your registered nick

Once the registration is successful, the user will be redirected to the login menu, and the user's chosen nick will be set in the username field. The user can now enter a password to connect to the ubuntu support channels.

ubuntu-live-chat-support-register-login2-0.3.14.png

Buddy List and Chat Screen

New users, registered users and unregistered users will have 5 predefined groups in their gaim buddy list. These includes the localized ubuntu channels, the team support groups, support and help channels, and auto-join default channels.

ubuntu-live-support-0.3.14-7-buddylist.png

The user will be automatically join to a particular #ubuntu- channel, the #ubuntu channel, and #ubuntu-

Old Screenshots

Old screenshots is available below.

See PreviousRelease

Code

The code is written in GTK+ 2.0, C and perl, with sh scripts as scripting backend.

Patch

09_help_submenu.patch

This patch for gnome-panel will enable the System > Help > Live Chat Support organization.

Source Package

ubuntu-live-support-0.3.14-7.tar.gz

Add GUI improvements in registration. Change the buddylist group labels. Add a auto-join channel by user's language. Impliment registration privacy. Add settings to change different gaim layouts.

ubuntu-live-support-0.3.14-5.tar.gz

Improved release, alot of PID handling fixes, break everything into smaller pieces and make it more modular. And got new implimentations from the recent discussions with lilo, and agreed that a delay should be implimented. It now has a enforced registration delay by Freenode to avoid abuse of Freenode services. Another is, the change of gaim's interface to be xchat-alike.

ubuntu-live-support-0.3.14.tar.gz

Third release, version 0.3.14 contains alot of improvements over the older versions. It has, an automated registration system, better GUI improvements, and more...

ubuntu-live-chat-support-0.2.tar.gz

The second release, contains lot's of improvements, like seperate account by nick profile handling, localization. Pretty much works perfectly.

ubuntu-live-chat-support.tar.gz

This is the first release of the software, but it's quite stable.

Binary Package

ubuntu-live-support_0.3.14-7_i386.deb (stable)

  • Change the name "Auto-Join Default" to "Default"

  • Overhaul the Local Channel names

  • A new channel will be autojoined based on language.

  • Added the language to "Local Languages" group

  • Change the name of "Local Ubuntu Channels" to "Local Channels"

  • UI improvements, in Nick registration, add a "Passwords do not

    • match" warning.

  • Impliment a settings in login page to choose from 2 different

    • layout, the default top channels tab and alternative left channels tab. The static xchat-gnome look is removed.

  • Add a new checkbox for privacy, when registration.

  • Impliment registration privacy when the checkbox is toggled.

ubuntu-live-support_0.3.14-6_i386.deb (stable),

  • Impliment fail-proof registration, that autoclean incomplete and failed registration attempts due to system crash or when the user press cancel while registering.

  • Automatically set the nickname entry, to the registered nick.

ubuntu-live-support_0.3.14-5_i386.deb (stable),

  • Overhauled the Process ID handling, now it's killall free!

  • Change the desktop entry to Applications;GTK;Core;

  • Change the way parts of the software is called, now uses modular approach on all things.

  • Impliment xchat-style in gaim interface.

ubuntu-live-support_0.3.14-4_i386.deb, this solves the issues regarding nick registration. It now use a true nick checking capability, for online or offline nicks. Security imposed time by Freenode.net is added to nick registration to intimidate spammers and abusers.

  • Due to security imposed delays for freenode registration, because of abusive bots, delays are now used in nick registration.

  • Delay time can change dynamically, this release fixes by capturing the exact delay time and add 20 more seconds if the machine is busy and doing multitasking jobs. The constant 200 seconds is removed.

ubuntu-live-support_0.3.14-1_i386.deb

GNOME Panel Binary Package

gnome-panel_2.14.1-0ubuntu8_i386.deb

This is the prepatched version of the gnome-panel that enables the menu organization.

Installation

For compiling the source, you need build-essentials, gtk+2.0-dev, autotools-dev, perl, and perl standard modules.

For installing the binary, please see dpkg, apt informations for instructions on installing deb packages.


#1 Sensible IRC Handler

Summary

The SensibleIRCHandler aims to provide an interface for Gaim that handles irc:// links in Firefox Browser. This will provide the same xchat-gnome functionality to handle irc:// links, but for Gaim.

Rationale

Recent changes in inclusion of packages for future Ubuntu release will not include xchat-gnome because of recursive duplication with Gaim's IRC capabilities, so IRC will be entirely handled in Gaim.

Scope

This will use Gaim as an IRC client, but will not alter the main Gaim configurations, this would create a temporary configurations for the current sessions. A functionality to add the IRC channels defined in InternetRelayChat in Gaim buddy list, will be easy, but will not add them by default. Adding them for a user requires further discussions.

Design

Invocation and Overall Design

A menu entry would not be created. It will be launched only through the browser when irc:// protocol is used. The interface will be simple, that asks the user's nick, and password.
Input Handling

Currently, it handles irc://server:port/channel, but irc://server/channel is not yet implimented. Implimentation is easy with RegularExpressions, the main design is to make port 6667 the default port when no port is supplied, and no channel will be joined if irc://server is only used.

Desktop Integration

Nautilus integration and Evolution mail integration is enabled by default. This would be easy to send files to a user in IRC.

Profile Handling

Preferences and Buddy List will be saved for a particular Nick. Every nick will create a seperate profile for the current session. The seperate profile will be configurable and be used over and over again.

Main Interface















Comprises of non editable text entries for Server, Port and Channel. An input is required for Nick and Password text entry.















Chatting in Gaim

A automatic buddy list of the server and channel will be added.

Source Packages

sensible-irc-handler.tar.gz

Written in GTK+, C and sh script. It does not require other dependencies other than build-essentials and GTK+ 2.0 Libraries. It can be installed by standard configure, make & make install

My hobby is to create software.

I love creating software, this is my dream.
My goal is to create as much as many possible open source software that
can help to make life in linux easy.

So far, I have made 7 software,

I would like to ask you personally to suggest a software for linux,
and I'll try my best to make it. Best me with all my luck.

I'll keep posting you of new software that I have made.

Sunday, January 01, 2006

Suggestions

To reach my goal, I need your help. I need your excellent idea, and software suggestions to contribute in the Open Source software, your name will be included in the Credits in the About dialog.

If you would like to donate something,
my address is:

330 Unity St. Annex 29,
Better Living Subdivision
Paranaque, Metro Manila
Philippines 1711

I need a Laptop, a Porsche Convertible Car, and
a Personal Jet, OR just a few bucks to buy myself some soda.
(Just kidding on the first part, but if you do, man that rocks!).

About Me

joelbryan
Paranaque, Metro Manila, Philippines
I like creating software that makes people's life easier.
View my complete profile