Starting KDE closer to the User
From WorkOutWiki2008
Contents |
@ Foss.In
Updated Details
We intend to work with a tag-based approach. Tags for the local filesystem, which would preferably be classified into categories of our choice, broadly classified on the basis of MimeType Description. There are tags based on application that have been installed on your system. Each of the package management systems provides libraries for accessing the package descriptions. For the FAQ we need to search through the userbase on KDE (currently just KDE Userbase is the target source).
The data flow diagram:
The Tag Details
A tag is a object which has following attributes: -> String [tag_string] -> Source [Source_of_tag] -> Score [Used to measure weights of a tag.]
Further Details
The user inputs query string , which is sanitized from stopwords, and the remaining natural language words are scanned for in the tag cache. The Tage cache is fed with tags from tag sources. There are Tag sources and there are Tag Users. A tag source is one which feeds tags into the tag pool, and the tag viewer processes the request to deliver the intended view. Currently we have planned 3 tag viewers,
1. The FAQ viewer 2. The Applications viewer. 3. the files viewer.
These are discussed a little in detail in the below lying section. Once the string passes to a tag pool, the tag object is filled with appropriate data. The tag string, the tag source, and the Tag score. The string itself is passed a NLP tag. Since some Tag Viewers would like to process data based on the Input String. Although the use of such string should be minimalistic, but it should exist in case the viewer does a extensive search and needs the raw string as well like the FAQ viewer would need it. The NLP string is also considered as a tag, just that its a little lengthy one. So, we can split the tags into Strigi tags, Package tags & NLP string.
The User Interaction:
User Interaction Diagram The Ui provides with a KLauncher type UI[ preferably Plasma ], A empty/Null string in the text query shows Top Tags from each of the tags sources. As one writes into the text box, the tag cloud is reduced to relevant tags. You got two ways of selecting tags
* Clicking a Tag * Pressing Enter Or Return.
The next interface displays a set of atleast 3 docks
1. The FAQ corresponding to the Tag, ( handled by plugin for userbase ) 2. The relevant applications installed/ un-installed in the system. (handled by plugin for package manager ) 3. The files in your system associated with the particular tag. ( currently Strigi)
Pressing enter passes a bunch of tags to be handled, whilst clicking a certain click just passes the particular tag to be processed.
New Participants
* Tejas Dinkar * Sharan Rao * Piysuh Verma * Adrain De Groot * Pradeepto Bhattacharya * Madhushan * Krishna
And now we have first python based client which is detecting plugins from the specified plugins dir. Task of making it pluggable -> Achieved.
Updates
* @ 11 Nov 2008 Started planning the details, and the architecture. UI should be a tough nut. A Rough roadmap is on the cards.
Proposer
Piyush Verma
Purpose
This one comes in more with the idea of making KDE simpler, as lot many people i have talked to find KDE quite power packed but not knowing where things exactly are. So we can sure make things simpler for a Juvenile user.
Abstract
Every time a user logs into KDE, we start some applications, we do get Start up Tips... showing tips about certain applications. We can use this concept toe further extend it to Log-IN. A frame less Browser WebKit rendered,perhaps, shall be used to display Items/Widgets [XML based] that a user would want/like to have easy access/ information to. We can have Tabs on the Top, displaying contents like:
* A User's Own Info: Time Zone, Locale, KDE-Local Website, Feeds from KDE website [maybe if connected to Internet], his Profile Pic. * An Applications Prologue: The best applications he might want to use, one they usually look for.Tips ,Helps, IRC to contact, websites for further Information. * Quick Shortcuts throughout the KDE system. Keyboard shortcuts, application shortcuts. How to set shortcuts.
Basically each page has general content and How-To for associated tutorials.
* Contribution/Feedback/Help/Languages Info. * And Similar more can be thought of, based on other Developers and Community [KDE-IN] feedback.
Pre-requisites
Languages, tools to be known
* Enthusiasm to be an Indian KDE contributor. * A quick rush through KDE development. * A little know how of rendering web content. * Hands on with programming in Python. * Know how of the QT Library.
Getting and compiling PyKDE4
* Install SIP from http://www.riverbankcomputing.co.uk/software/sip/download * Install a latest qt version. I do it from subversion checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy * Install PyQT4 from http://www.riverbankcomputing.co.uk/software/pyqt/download * Install PykDE4 from svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebindings/python/pykde4
This would require you to have kdelibs and kdesupport compiled and installed as well. Cmake 2.6 is also a requirement. Ping me via Email or on IRC if you have trouble setting up this environment.
@ 11 Nov 2008: NOTE: Alright...just discovered, this one should work with the development packages on your latest KDE4 distro.
Links to overall design/architecture
Pre-event planning
Discussions need to get going on IRC / IM's / Email / KDE-in mailing list. We shall get this moved to a nicer wiki .. pretty soon.
Tasks
We can divide the entire project into major subtasks.
* Agree / Decide on the Rendering architecture. * Reading Engine: Read from a common template / Configuration source. * The User Interface. * Rendering Engine: Shuff the Data to the application.
At Foss.In/2008 we should be able to achieve a decent working app which can broadcast a little overview of the complete
Getting in touch
* IRC: Nickname: meson10 Channel: kde-in, kde-devel on irc.freenode.net * Email: piyush@piyushverma.net
Participants
* Piyush Verma * Shashank Singh

