E N D
KRUGLE BY: Roli Shrivastava
STORIES • COLIN SAYS “It was the first day at my new job and one my new colleagues told me that they were looking for a specific type of semaphore implementation in Java. I said 'hey, have you tried to find it using Krugle?' He fired up the page, entered his search details and was faced with several pages worth of results, something traditional search had failed to do. Proof, if any were needed, that Krugle.com is not only cool, it makes you look cool at your new job too. ” • Rick Says “I needed to find a good hashtable implementation in pure C. I knew it must exist in some corner somewhere. Coding it myself is dirty work and I didn't want to reinvent the wheel. So I tried Krugle. My very first time using it, and I found what I needed. ” • Pedro Says “No longer a developer...Krugle is developing for me...”
R U A DEVELOPER?? • most powerful development strategy is….. SEARCH !!! • Developers looks for: • Reuse shopping-cart project , knows someone has built • Why a function call is throwing an error !!! SOLUTION : KRUGLE MAKES SEARCH EASY AND EFFICIENT
TO “KRUGLE” OR NOT TO “KRUGLE” • why would anyone write code from scratch when it already exists? • It takes more time • It costs more money • Its Pointless • “If it’s been coded, we’ll help you find it”
ABOUT KRUGLE • An innovative search engine • Designed by developers, for developers • Meaningful search experience • Developers can easily find codes • Can locate / fix problems • Learn new things • Share knowledge • Supports a long list of languages : C, C++, JAVA etc
ABOUT KRUGLE continued … • Krugle actively crawls & indexes & maintains the most comprehensive collection of • Active repositories in the world • authoritative publicly available repositories in the world • This includes over 350 repositories, • hundreds of thousands of active projects and • millions of source code files. • Repositories include: • Sourceforge, Apache, KDE, Savannah, Tigris, Mozilla, Redhat, IBM, Rubyforge, Python, Perl, and Eclipse.
“SEARCH for CODE” • Krugle allows you to search from selected "channels" of information. • Channels include Code, Tech Pages and Project. • Each channel is associated with a colored tab at the top of the KRUGLE screen. • Code channel gives instant access to 10 million Open Source & publicly available code files
“SEARCH for PROJECTS” • Click on the “PROJECTS” Search tab • Enter the name of the Open source project • Information will include : • A project description • Development language • Project homepage • Licensing information • Krugle has crawled over 50,000 publicly available projects.
“SEARCH for TECH PAGES” • Originally, Krugle was a “code only” search engine • But, developers required additional capabilities • Users needed simultaneous access to : • Documentation • Bug Reports • Discussion Threads • Legal Information • Release news • Application notes
“TECH PAGES” • The “Tech Pages” are good for finding: • API Documentation • Bug reports • Forum Threads and Discussions • Release news • Reviews and White Papers • Krugle has crawled over 35 million technical pages.
“SEARCH SELECTED” • Users can track code relationships and dependencies • developers are able to select any term or groups of terms in the code • specify where to search (file, project, all) for that specific term • what code instances to find (definitions, calls, etc.)
“SAVING & SHARING RESULTS” • Krugle allows you to save a reference to your current search results • 1st way is : Saving the Link
“SAVING & SHARING RESULTS” • 2nd Way is : Saving in .txt format
“ADDING COMMENTS“ • With Krugle : • add a comment to your current file, by using the "Add Note" button • The notes feature allows you to enter a title for the note that summarizes its purpose • Add keywords in the tag field that will help match the note to search terms • Tags can be publicly viewable by all Krugle users or kept private for your use only
INTEGRATION • Krugle supports Subversion and CVS repositories. • Archive support coming soon!
IDE-Plug-IN for Krugle • Eclipse Plug-in Beta
BROWSER PLUG-IN • Firefox 1.5 & 2.0 • Krugle Code Search • Krugle Tech Pages Search • Krugle Project Search
Browser Plug-in Continued … • Toolbar (IE 6 and IE 7)
LOOKING FOR KRUGLE ?? • GOTO www.krugle.com • To Install krugle as a plug-in to • IE • Firefox • Eclipse GOTO http://corp.krugle.com/product/getplugins
TECHINCAL DETAILS • Search Methodology • The parser is syntactically aware; allowing search on specific code features • function calls • function definition • class definition, as well as comments. • Camel-case tokenizing • function name like callMe will be tokenized • “call” & “me” • Similarly, applies to underscores • Other common punctuations and literals
TECHNICAL DETAILS contd… • Relevance Ranking — Code • Advanced relevance ranking algorithms uses • code characteristics • project activity brings the most relevant items to the top of the search results list. • Advanced Query Qualifiers for code search allows • User to search in a specific source repository sites • Find code by filename, func/class def, func/class calls
TECHNICAL DETAILS • Tech Pages • Sophisticated relevance ranking algorithms uses • presence of software development terminology • link analysis brings the most relevant items to the top of the results list. • Advanced Query Qualifiers for tech search allows • User to search in a specific url or sites
TECHINCAL DETAILS • Project Meta Data • Tied to code • Makes it possible to search for code • Done using human language description • what function the code performs?
COMPARE with GOOGLE?? • “Look and Feel” of Krugle is much better than Google • Options of Code, Tech Pages and Project Reports • Speed ?? ( I m not sure ) • “GOOGLERS” are more in number than “ KRUGLERS” • GOOGLE seems to be more general though • KRUGLE has “FORUMS” of its OWN for discussions and blogs.