April 1, 2010

Introducing ScuttleButt Instant Messenger for LAN

won the grand prize (Rank #1) at two international level competitons; AIR-O-MANIA, TechFest, IIT-B during Jan 22-24 and at GumboRumble, IT-BHU. Both these events were industrial defined problems sponsored by Adobe Inc., to foster engineering talent and creativity among student developers in India on its recently launched Adobe AIR platform. The prize money was enough for me to buy me a brand new concert flute (boy they are costly :) and give treat to my friends.

Scuttlebutt |ˈskətlˌbət| noun
rumor; gossip: the scuttlebutt has it that he was a spy. Source: Oxford Dictionary

ScuttleButt is targeted at gamers, students, professionals and the those user groups which are connected to peers via the ubiquitous local area network aka LAN.

The LAN provides a swift medium of information exchange and present solutions fail to automate all those things on LAN that a IM does, such as file transfer, voice and video chat. I’m a computer science and engineering student and I live in a hostel with more than 300 students and we are all connected to each other by the local area network and sometimes the Internet is cut. Moreover, my friends and I are fed up with the pop-up windows of IPMsg. So, during my winter break, I started working on developing a cross-platform communication tool.

Hence, ScuttleButt was made that just works out of the box!

The great thing about ScuttleButt is that it’s a server-less messenger with features such as click n run, automated peer discovery, encoded avatars, status messages, notifications, p2p chatting, group chatting, file transfer and voice chatting! Though some of the features are under development, it just works out of the box. You get the air file (now that code is open sourc’d one can download and build), install it and click to open and that’s it!!! Download the source archive.

June 4, 2009

Story of a Notification Widget Experiments with UX

As a GSoC qualification task for VideoLAN/VLC, I thought to create something that I wanted in VLC, a small controller and media notification widget. This widget can be used as a controller (play, pause, back, forward, shuffle, loop), or to display meta data of the playing media. A sleek and elegant UI element now, started as a dull SVG widget. So, I made a prototype widget as my GSoC qualification task for VideoLAN/VLC.

Prototype I

Though I was not selected for GSoC 2009, it was a learning experience for me to get to know the community and how things worked. So, I continued my work on this widget because I liked the idea and had plenty of time. When I showed the screenshot of my prototype to some people on Videolan’s IRC channel on freenode I got nice responses;“good idea” “nice widget” “seriously good work” “kick-ass widget”. I know GUI is not something most hardcore hackers would like to invest their time in, but anyway I went ahead with my GUI/UX development. Soon, I accomodated album art and redesigned the SVGs using Inkscape, in the 2nd prototype.

Prototype II

Until Prototype II, the code simply implemented the GUI, so the next step was to map UI events (mouse clicks and movements) and media playback interfaces. I hacked and grep-ed through the source to figure out the correct functions and after about an hour, the widget was fully working! The next few features I implemented were volume control, playback controller and a lock button to lock the widget from hiding. The widget would auto-hid itself after 5 seconds. The sliders were customised using CSS and SVG. I was suggested to remove CSS, so I’m trying to figure out a way to do that.

Prototype III

Finally, I did some color fixes and decreased transparency of the widget to give it a cool transparency effect.

Prototype IV

Then, I redesigned the lock-unlock SVGs and added ‘drag n drop files to play’ feature by connecting the drop event on the widget to the MainInterface. The code, GUI design, CSS and SVGs constitutes my original work. j-b helped during the course in reviewing my patches and my special thanks to him for all his help.

VLC MiniMode

I implemented a CopyLeft, a concept by RMS; so when you do a right click on the widget it will shows an “About Page” that changes Title, Artist and Album QLabels to one shown in the image shown below.

VLC MiniMode - "Right Click About"

After some discussion on videolan’s irc channel, I was told that the widget may be used in place of the taskbar icon menu. So, may be in the future, when you right-click the VLC taskbar icon you’ll see this floating widget. I cleaned a lot of code before re-sending another patch to the VLC-devel list; it was never entertained (or even considered to be commited) but I learned a lot from the experience. The patches can be searched and downloaded from VideoLAN’s mailing list archives.

Meanwhile, I also made a skins2 theme for VLC, “Dark Pepper”, based on the same theme I designed for the MiniMode Widget. Download it from here or here. A screenshot of the same is below:

Dark Pepper Skins2 theme for VLC

© Rohit Yadav 2009-2012 | Report bug or fork source | Last updated on 30 Nov 2012
Ohloh profile for Rohit Yadav FOSS ITBHU hacker emblem