Mibbit
Encyclopedia
Mibbit is a web-based
Web chat
A web chat is a system that allows users to communicate in real time using easily accessible web interfaces. It is a type of internet online chat distinguished by its simplicity and accessibility to users who do not wish to take the time to install and learn to use specialized chat software. This...

 client
Client (computing)
A client is an application or system that accesses a service made available by a server. The server is often on another computer system, in which case the client accesses the service by way of a network....

 for modern web browsers that supports Internet Relay Chat
Internet Relay Chat
Internet Relay Chat is a protocol for real-time Internet text messaging or synchronous conferencing. It is mainly designed for group communication in discussion forums, called channels, but also allows one-to-one communication via private message as well as chat and data transfer, including file...

 (IRC), Yahoo Messenger, and Twitter
Twitter
Twitter is an online social networking and microblogging service that enables its users to send and read text-based posts of up to 140 characters, informally known as "tweets".Twitter was created in March 2006 by Jack Dorsey and launched that July...

. It is developed by Jimmy Moore and is designed around the Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

 model with a user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

 written in JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

.

Design

Mibbit's user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

 operates entirely within a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

 and does not require installation of any software on the user's computer. Most modern web browsers that support recent versions of JavaScript are supported, including Mozilla Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

, Internet Explorer
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...

, Opera
Opera (web browser)
Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

, Google Chrome
Google Chrome
Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

, and Safari
Safari (web browser)
Safari is a web browser developed by Apple Inc. and included with the Mac OS X and iOS operating systems. First released as a public beta on January 7, 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Safari is also the...

. Mobile devices such as the Apple iPhone
IPhone
The iPhone is a line of Internet and multimedia-enabled smartphones marketed by Apple Inc. The first iPhone was unveiled by Steve Jobs, then CEO of Apple, on January 9, 2007, and released on June 29, 2007...

 iPod Touch
IPod Touch
The iPod Touch is a portable media player, personal digital assistant, handheld game console, and Wi-Fi mobile device designed and marketed by Apple Inc. The iPod Touch adds the multi-touch graphical user interface to the iPod line...

, and Nokia N800
Nokia N800
The Nokia N800 Internet tablet is a wireless Internet appliance from Nokia, originally announced at the Las Vegas CES 2007 Summit in January 2007. N800 allows the user to browse the Internet and communicate using Wi-Fi networks or with mobile phone via Bluetooth. The N800 was developed as the...

, and other platforms such as the Nintendo Wii
Wii
The Wii is a home video game console released by Nintendo on November 19, 2006. As a seventh-generation console, the Wii primarily competes with Microsoft's Xbox 360 and Sony's PlayStation 3. Nintendo states that its console targets a broader demographic than that of the two others...

 are also supported.

Unlike typical web-based IRC clients, Mibbit makes use of a client–server design model. The user interface is written in HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

 using Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

 programming techniques. The client's backend is written completely in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and operates independently of the web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

 in a standalone fashion on the Mibbit server. This design differs from web browser component clients such as ChatZilla
ChatZilla
ChatZilla is an IRC client for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting....

 or Java applet
Java applet
A Java applet is an applet delivered to users in the form of Java bytecode. Java applets can run in a Web browser using a Java Virtual Machine , or in Sun's AppletViewer, a stand-alone tool for testing applets...

 based IRC clients such as PJIRC
PJIRC
Plouf's Java IRC is a web-based open source IRC client that is written in Java. Any web browser that supports the Java Runtime Environment, or an alternative Java interpreter, can use the applet. Many IRC networks have a public installation of the applet for their network.Philippe Detournay, the...

 that operate entirely from within the web browser. It also differs from server-based web proxy IRC clients such as CGI:IRC
CGI:IRC
CGI:IRC is a CGI program written in Perl that allows access to IRC via a web browser. It is designed to be flexible and has many uses such as an IRC gateway for an IRC network, a chat-room for a website or to access IRC when stuck behind a restrictive firewall....

 where all processing takes place on a remote server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

.

Because the client–server design allows for a centralized Mibbit client server, Mibbit is able to offer extended functionality which is not present in the standard IRC protocol. Some of these extensions include a channel chat buffer that can be shown to Mibbit clients when they join a channel where another Mibbit user is already present, a notification for other Mibbit users that you are typing a message to them, and distinctive icons that allow identification of the device used with Mibbit such as an iPhone, iPod Touch, Wii, etc.

Mibbit supports the webirc (cgiirc) protocol which allows the client to send the user's IP address
IP address
An Internet Protocol address is a numerical label assigned to each device participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location addressing...

 and hostname
Hostname
A hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, e-mail or Usenet...

 to the IRC server. Servers that support webirc allow Mibbit users to appear as regular IRC clients instead of appearing to connect from the mibbit.com domain. If webirc is not used or is unavailable, Mibbit puts the user's hostname in the client's realname field and encodes the user's IP address in hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 and sends it as the ident
Ident
The Ident Protocol, specified in RFC 1413, is an Internet protocol that helps identify the user of a particular TCP connection. One popular daemon program for providing the ident service is identd.-How ident works:...

 reply.

Features

The Mibbit client has the ability to connect to multiple IRC servers, including servers that use SSL/TLS
Transport Layer Security
Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

, can join multiple channels, and can be configured auto-join often used channels. Mibbit uses the UTF-8
UTF-8
UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

 character set by default but can also be configured to use other character sets. It supports nickname tab auto-completion, an input history
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....

 for each tab accessible with the up/down arrow keys, aliases, user menu commands, and saving of user preferences. Mibbit can parse smilies, links, channels, nicks, and mIRC
MIRC
mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its integrated scripting language makes it extensible and versatile....

 color codes, and can automatically create thumbnail
Thumbnail
Thumbnails are reduced-size versions of pictures, used to help in recognizing and organizing them, serving the same role for images as a normal text index does for words...

s for image links and URLs. In addition, Mibbit offers an integrated pastebin
Pastebin
A pastebin is a type of web application that allows its users to upload snippets of text, usually samples of source code, for public viewing. It is very popular in IRC channels where pasting large amounts of text is considered bad etiquette. A new trend is that users use Pastebin to post Twitter...

, an upload service, and can minify URLs. Mibbit also offers typing notification for other Mibbit users, a recent chat buffer for IRC channels when other Mibbit users are already on the channel, and extended whois information with user profiles.

Mibbit supports the Google API which allows the client to support a number of Google Services. Mibbit can translate text and conversations on the fly using Google Translate
Google Translate
Google Translate is a free statistical machine translation service provided by Google Inc. to translate a section of text, document or webpage, into another language.The service was introduced in April 28, 2006 for the Arabic language...

, Mibbit can also display geographic locations using Google Maps
Google Maps
Google Maps is a web mapping service application and technology provided by Google, free , that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API...

 and supports viewing of YouTube
YouTube
YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....

 videos.

In addition to the standard client, Mibbit also supports a widget client that can be embedded into a web page. The widget client supports most of the features of the regular client but does not support multiple server connections.

Critical reception

Mibbit has been praised by CNET
CNET
CNET is a tech media website that publishes news articles, blogs, and podcasts on technology and consumer electronics. Originally founded in 1994 by Halsey Minor and Shelby Bonnie, it was the flagship brand of CNET Networks and became a brand of CBS Interactive through CNET Networks' acquisition...

 and Lifehacker for its ease of use. Drupal
Drupal
Drupal is a free and open-source content management system and content management framework written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and...

 administrators use it to add IRC widgets to sites, noting the benefits of its modular design
Modular design
Modular design, or "modularity in design" is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...

. Mashable
Mashable
Mashable is an American news website and Internet news blog founded by Pete Cashmore. The website's primary focus is social media news, but also covers news and developments in mobile, entertainment, online video, business, web development, technology, memes and gadgets...

 suggests Mibbit as an appropriate resource for those new to IRC.

Firefox support

Firefox 3.5
Mozilla Firefox 3
Mozilla Firefox 3.0 is a version of the Firefox web browser released on June 17, 2008 by the Mozilla Corporation.Firefox 3.0 uses version 1.9 of the Gecko layout engine for displaying web pages. This version fixes many bugs, improves standard compliance, and implements many new web APIs compared to...

 and beyond builds already support Mibbit as the default IRC protocol handler and support for encrypted ircs:// SSL/TLS
Transport Layer Security
Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

 connections is also included.

Abuse mitigation

Because Mibbit is effectively an IRC proxy
Proxy server
In computer networks, a proxy server is a server that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server...

 it has the potential to be abused or used to evade bans and blocks
Block (internet)
On the Internet, a block is a technical measure intended to restrict access to information or resources. Blocks should not be confused with bans, although they are often used to enforce a ban.-Effects of blocks:...

. This has resulted in the client being banned from accessing some IRC networks and channels. Mibbit now supports DNSBL
DNSBL
A DNSBL is a list of IP addresses published through the Internet Domain Name Service either as a zone file that can be used by DNS server software, or as a live DNS zone that can be queried in real-time...

 checking via the DroneBL service as a means to help block access from abusive users and botnet
Botnet
A botnet is a collection of compromised computers connected to the Internet. Termed "bots," they are generally used for malicious purposes. When a computer becomes compromised, it becomes a part of a botnet...

s. Mibbit was listed as an open proxy
Open proxy
An open proxy is a proxy server that is accessible by any Internet user. Generally, a proxy server allows users within a network group to store and forward Internet services such as DNS or web pages to reduce and control the bandwidth used by the group...

 in the DroneBL DNS blacklist
Blacklist
A blacklist is a list or register of entities who, for one reason or another, are being denied a particular privilege, service, mobility, access or recognition. As a verb, to blacklist can mean to deny someone work in a particular field, or to ostracize a person from a certain social circle...

 in December 2008, and due to a database glitch mistakenly again listed in March 2009. This prevented Mibbit users from connecting to IRC networks that make use the DroneBL service. Mibbit was added to DroneBL's whitelist to help prevent future service disruptions. On June 19, 2009 it was banned permanently from freenode
Freenode
freenode, formerly known as Open Projects Network, is an IRC network used to discuss peer-directed projects. Their servers are all accessible from the domain name [irc://chat.freenode.net chat.freenode.net], which load balances connections by using the actual servers in rotation...

, and a new officially supported open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

AJAX client was introduced.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK