Over the holidays it seems we never have enough time. The demands of life pile up around us; work, entertaining, parties, shopping, my relationship, the kids… the list goes on and on. It was over this holiday season that the demands of Jumper became a little too much to manage.
With my consulting career growing at an ever faster pace it was already difficult to manage new clients and keep up with the demands of running the Jumper project. Throw in all the holiday pressures and I had one of those moments. No not a break down, as any of you who talked to me during the holidays probably guessed… a moment of clarity – a hard realization.
Jumper needed to follow a new organizational path. It was not working as a commercial entity. Despite my Herculean efforts to wear every hat it was becoming impossible to keep up with the demands. The popularity of our software is growing rapidly, downloads continue unabated rapidly approaching 10,000, hits to the website continue to grow at over 300% for 2010, calls and emails for support are keeping pace with this growth. In fact, they seem to grow exponentially as I typically provide this support for free.
It was simply time to reorganize. To transition from a private to a public entity that could continue to promote the benefits of collaborative search and universal (as in any information) bookmarking that I believe in so much. It was time for Jumper to become a non-profit foundation that could begin to grow on its own. This will free-up the many community members to make their own ideas happen, give you control of the direction of the software, and of course allow you to actually put your participation formally on your resume. And yes I have done my share of reference letter in the last two years…
As a non-profit foundation we will invite community members to fill one of six board seats that will be open each year. This annual term allows a broad range of community members to participate over time, each adding their own unique contributions. If you would like to be a Jumper Foundation Director please reach out to me and let me know. Eventually each board member will be nominated and elected annually as is defined in the foundations charter, however, in the beginning as we get this up and going I will be appointing the first board members. As a board member you will have access to all of the Jumper forums; you will be an admin on Jumper Sourceforge and on the Jumper Developers Group, a blogger in the Jumper 2.0 blog, with access to post on the Jumper Twitter and Facebook pages.
Any person may apply to be a member of the project and be eligible to be a member of the Association under our new Rules. All affairs of the Jumper Association shall be managed by the Board. There shall be no designated officers of the Association. All nominated or elected board members shall govern in a round-table forum with decisions made only by majority vote. Any three members of the board meeting via conference call or online meeting constitute a quorum for the conduct of the business of a meeting of the Board. Pretty informal and relaxed and completely fitting with our beach front digs.
I have corresponded with many of the community members over the holidays before making this change and have received unanimous support in this new direction. The consensus has been that the Jumper project is about people producing free and open software and contributing to something as a team for the benefit of others. To quote some of the emails “the Jumper project reflects the spirit of collaboration and fun and thrives on strong community feedback”, “we need better governance that allows for diverse businesses and organizations to confidently invest in its use and further development”, “it is important that it remain open to the participation of anybody who can contribute value and is willing to work with the community.” All of these comments, reflected in numerous emails received from community members, express the goals that will be better served by organizing Jumper 2.0 as a non-profit public entity open to everyone around the globe.
Perhaps most importantly this change is aimed squarely at meeting the concerns of the core development teams. Many of you have come and gone from the project over the last two years expressing dissatisfaction about Jumper Networks commercial control of the software. You have felt you had no voice in its government or the future direction of Jumper 2.0. This was never my intention and I regret the arrogance of this thinking. The contributions of all the developers is vital and by changing our organization to empower our community, to cede control of the core development more fairly to all of the developers will allow their skills and expertise to lead the project forward in a new direction. As it should be.
Jumper Networks Inc will cease to exist. It will transition all its assets to the Jumper 2.0 Foundation whose charter will be published on our new website www.jumpersearch.com. We will continue to develop and improve this award-winning software project and ensure that it continues to be released under the GNU General Public License. I will of course remain a part of the development team going forward and continue to provide free support to anyone who emails or calls. But more importantly I look forward hearing from many of you who wish to take a more active and decisive role in the project.
Thanks,
Steve Perry
Showing posts with label collaborative search engine. Show all posts
Showing posts with label collaborative search engine. Show all posts
Saturday, January 29, 2011
Thursday, August 19, 2010
Jumper in China?
I was browsing some web stats recently and happened to find a Jumper installation in China. Normally that would not be unusual. China is, after all, our second largest volume of traffic after the US. In fact, this was the third one that I have found in China this month. What was unusual is that it was not in some Chinese company I had never heard of, no, this one had a public IP address. It was on the public web in China!
This has been an increasing phenomenon over the last several months with public sites literally popping up all over the world (India, Poland, Estonia, Russia, Germany just this month). However, no one had yet posted one online in China. But yet there it was, a Jumper search engine in what I think is Mandarin, on the Internet inside China. Wow.
What did it mean? Was someone bypassing the government? It is light-weight and portable so that users could easily move it to another address when needed. Or was it simply small enough to fall under the governments radar? My head was spinning for a second...
It is really quite astonishing to me. This little software program has been nothing short of amazing since I first created it. Jumper started as a simple tagging engine to enrich metadata in a small project with a very limited budget. After the project I added a search page to it and posted it on Sourceforge thinking that was it.
I returned to the same life sciences company a few months later (on another consulting engagement) and was pleased to see the tagging engine was still integrated into their Intranet search. When I reached out to the original project team several told me, to my surprise, that they had since deployed the full Jumper 2.0 software in their department. When I asked why the answer surprised me. “If I know where to look I can usually find what I’m looking for - the problem is when I have no idea where to look, then it is almost impossible.” OK, so I paraphrased a little. The point being it was the discovery aspect of the software that they loved. Enterprise information is distributed. You need to know where to look. With Jumper they could find all kinds of information that they never knew existed. Tagging was merely a means to an end.
And now Jumper could bring down governments? OK so my imagination got a little carried away with the possibilities… But this I certainly never saw coming. Jumper has always been an enterprise search engine. I was fascinated at this new use of the software. When I inquired with one of these deployments what I found were users alienated from the traditional search model. Jumper gave them the tool to create a culturally friendly search engine. Created by users like themselves. One that met their unique interests. Lawyers in Estonia could create a search engine that met their culturally unique and local legal needs in a way no vertical or general search engine ever could. Scientists at a University in Germany could do the same, so could programmers in Russia, developers in India. The potential seems unlimited.
A new global economic and technical infrastructure is emerging, built on networked, social computing. In the next ten years a billion new people around the globe will gain a productive foothold in this economy and become an increasingly significant online force. They will be young and will look to do things differently. The old model of monolithic search provided by a few companies will no longer meet all of their needs. They will be culturally splintered, with vastly diverging interests, and will look for a more flexible search model that will better meet their unique needs. They will shatter the current search model into millions of pieces; culturally unique, community based, and socially oriented pieces.
From a simple project two years ago too an emerging global phenomenon? Well, perhaps not yet. We still have a long way to go, but things are starting to get very interesting.
This has been an increasing phenomenon over the last several months with public sites literally popping up all over the world (India, Poland, Estonia, Russia, Germany just this month). However, no one had yet posted one online in China. But yet there it was, a Jumper search engine in what I think is Mandarin, on the Internet inside China. Wow.
What did it mean? Was someone bypassing the government? It is light-weight and portable so that users could easily move it to another address when needed. Or was it simply small enough to fall under the governments radar? My head was spinning for a second...
It is really quite astonishing to me. This little software program has been nothing short of amazing since I first created it. Jumper started as a simple tagging engine to enrich metadata in a small project with a very limited budget. After the project I added a search page to it and posted it on Sourceforge thinking that was it.
I returned to the same life sciences company a few months later (on another consulting engagement) and was pleased to see the tagging engine was still integrated into their Intranet search. When I reached out to the original project team several told me, to my surprise, that they had since deployed the full Jumper 2.0 software in their department. When I asked why the answer surprised me. “If I know where to look I can usually find what I’m looking for - the problem is when I have no idea where to look, then it is almost impossible.” OK, so I paraphrased a little. The point being it was the discovery aspect of the software that they loved. Enterprise information is distributed. You need to know where to look. With Jumper they could find all kinds of information that they never knew existed. Tagging was merely a means to an end.
And now Jumper could bring down governments? OK so my imagination got a little carried away with the possibilities… But this I certainly never saw coming. Jumper has always been an enterprise search engine. I was fascinated at this new use of the software. When I inquired with one of these deployments what I found were users alienated from the traditional search model. Jumper gave them the tool to create a culturally friendly search engine. Created by users like themselves. One that met their unique interests. Lawyers in Estonia could create a search engine that met their culturally unique and local legal needs in a way no vertical or general search engine ever could. Scientists at a University in Germany could do the same, so could programmers in Russia, developers in India. The potential seems unlimited.
A new global economic and technical infrastructure is emerging, built on networked, social computing. In the next ten years a billion new people around the globe will gain a productive foothold in this economy and become an increasingly significant online force. They will be young and will look to do things differently. The old model of monolithic search provided by a few companies will no longer meet all of their needs. They will be culturally splintered, with vastly diverging interests, and will look for a more flexible search model that will better meet their unique needs. They will shatter the current search model into millions of pieces; culturally unique, community based, and socially oriented pieces.
From a simple project two years ago too an emerging global phenomenon? Well, perhaps not yet. We still have a long way to go, but things are starting to get very interesting.
Tuesday, August 3, 2010
Building Social into Solr
We have had a number of customers inquire about customizing specific aspects of Solr search with Jumper.
There are really two approaches: one is to build Jumper tagging into your search engine interface allowing users to tag documents or content when it is stored. The second is to import Jumper tagging fields into solr using the DataImportHandler. This is done using basic JDBC connectivity. Tags stored in the Jumper search engine then are imported into the Solr index and attached to a document and returned when searched. Using faceted_fields you can allow users to filter search based on the knowledge tags applied by other users.
This is perhaps the easiest method. The two services can be bundled in a single web interface. In this way you are removing the Jumper search engine and replacing it with Solr. This gives you the benefit of both worlds – full text searching and user tagging – to deliver better more detailed search results.
If you prefer to embed custom search paths into Solr the primary method is using facet-fields. A Jumper tagging interface can be added when storing documents. The Jumper tag fields are then stored as facet_fields that Solr will search in addition to its full text parsing of the document. This is done on indexed rather than stored values.
This requires that we add a number of Jumper tags to the Solr index separately and add a custom sort to Solr search. Adding a new Jumper tag field to the search results requires two very small hook implementations: hook_apachesolr_update_index() and hook_apachesolr_modify_query(). To start, let’s just add the keyword tag field to the Solr index.
/**
* Implementation of hook_apachesolr_update_index()
*/
function mymodule_apachesolr_update_index(&$document, $node) {
// Index field_keyword_tag as a separate field
if ($node->type == 'profile') {
$user = user_load(array('uid' => $node->uid));
$document->setMultiValue('sm_field_keyword_tag', $user->tags);
}
elseif (count($node->field_keyword_tag)) {
foreach ($node->field_keyword_tag AS $keyword) {
$document->setMultiValue('sm_field_keyword_tag', $keyword['filepath']);
}
}
}
All we do is add the data to the index by adding it to the $document object, which is passed by reference. We used the setMultiValue method since the tag field can have multiple values, but if we were just adding one field, we would just use the addField method. The field name is simply the 'sm_' dynamic field name pattern with field_keyword_tag appended, since the field contains a keyword string, and the sm_ field type represents a small string.
Now that the data has been added to the index, we also need to add it to the query so it can be returned with the search results:
function mymodule_apachesolr_modify_query(&$query, &$params, $caller) {
$params['fl'] .= ',sm_field_keyword_tag';
}
And that's all there is to it… This can be repeated for each of the Jumper knowledge tags that you want to add. All you're doing is some basic PHP string concatenation and appending your newly indexed field to the fields to return array (['fl'])of the $params object. Although, we are simplifying the detail a little bit on the format of $params for the sake of brevity in this post.
In general, adding Jumper social tagging features into your Solr search is pretty easy, and can deliver some very powerful capabilities to your search functionality.
There are really two approaches: one is to build Jumper tagging into your search engine interface allowing users to tag documents or content when it is stored. The second is to import Jumper tagging fields into solr using the DataImportHandler. This is done using basic JDBC connectivity. Tags stored in the Jumper search engine then are imported into the Solr index and attached to a document and returned when searched. Using faceted_fields you can allow users to filter search based on the knowledge tags applied by other users.
This is perhaps the easiest method. The two services can be bundled in a single web interface. In this way you are removing the Jumper search engine and replacing it with Solr. This gives you the benefit of both worlds – full text searching and user tagging – to deliver better more detailed search results.
If you prefer to embed custom search paths into Solr the primary method is using facet-fields. A Jumper tagging interface can be added when storing documents. The Jumper tag fields are then stored as facet_fields that Solr will search in addition to its full text parsing of the document. This is done on indexed rather than stored values.
This requires that we add a number of Jumper tags to the Solr index separately and add a custom sort to Solr search. Adding a new Jumper tag field to the search results requires two very small hook implementations: hook_apachesolr_update_index() and hook_apachesolr_modify_query(). To start, let’s just add the keyword tag field to the Solr index.
/**
* Implementation of hook_apachesolr_update_index()
*/
function mymodule_apachesolr_update_index(&$document, $node) {
// Index field_keyword_tag as a separate field
if ($node->type == 'profile') {
$user = user_load(array('uid' => $node->uid));
$document->setMultiValue('sm_field_keyword_tag', $user->tags);
}
elseif (count($node->field_keyword_tag)) {
foreach ($node->field_keyword_tag AS $keyword) {
$document->setMultiValue('sm_field_keyword_tag', $keyword['filepath']);
}
}
}
All we do is add the data to the index by adding it to the $document object, which is passed by reference. We used the setMultiValue method since the tag field can have multiple values, but if we were just adding one field, we would just use the addField method. The field name is simply the 'sm_' dynamic field name pattern with field_keyword_tag appended, since the field contains a keyword string, and the sm_ field type represents a small string.
Now that the data has been added to the index, we also need to add it to the query so it can be returned with the search results:
function mymodule_apachesolr_modify_query(&$query, &$params, $caller) {
$params['fl'] .= ',sm_field_keyword_tag';
}
And that's all there is to it… This can be repeated for each of the Jumper knowledge tags that you want to add. All you're doing is some basic PHP string concatenation and appending your newly indexed field to the fields to return array (['fl'])of the $params object. Although, we are simplifying the detail a little bit on the format of $params for the sake of brevity in this post.
In general, adding Jumper social tagging features into your Solr search is pretty easy, and can deliver some very powerful capabilities to your search functionality.
Friday, July 23, 2010
Proposing an Open Index Initiative
Many of the customers who download Jumper are using it for personal search. They are using it themselves, or in a small company, or between a few colleagues. Jumper has many benefits that make it an ideal personal search engine, however, if you are using Jumper in this way you are missing one of its big benefits – collaborative sharing of resources. In a larger community of uses with a shared interest or profession the number of searchable resources grows rapidly and the inherent value of Jumper search increases accordingly.
In an effort to facilitate resource sharing among the many customers who use Jumper for personal search we are proposing an Open Index initiative.
Jumper will make a shared index database available for download on Sourceforge under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. This Open Index will be built by users like you, who share your tag profiles with other users, who in turn share their tag profiles with you. This collaborative initiative will be aggregated by Jumper in a central Open Index that will be available for download on Sourceforge.
This means that you can share and change the index database as you choose.
• to Share — to copy, distribute and transmit the work
• to Remix — to adapt the work
Under the following conditions:
• Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
• Noncommercial — You may not use this data directly for commercial purposes. You cannot resell or repackage this data for commercial benefit. You cannot commercially benefit by providing access to this data. The intent for use is that any benefit will only be derived indirectly by using this data to search for resources that may provide a commercial benefit as a result.
• Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same license to this one.
It is important to understand that when you contribute your resources to the common index for the general good of all that it can only be used under these license guidelines.
There are two ways you can easily contribute.
You can export your Jumper index database and send the flat file to us via Email at Open Index
Or you can add individual resources to the open index via the Open Index form.
In an effort to facilitate resource sharing among the many customers who use Jumper for personal search we are proposing an Open Index initiative.
Jumper will make a shared index database available for download on Sourceforge under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. This Open Index will be built by users like you, who share your tag profiles with other users, who in turn share their tag profiles with you. This collaborative initiative will be aggregated by Jumper in a central Open Index that will be available for download on Sourceforge.
This means that you can share and change the index database as you choose.
• to Share — to copy, distribute and transmit the work
• to Remix — to adapt the work
Under the following conditions:
• Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
• Noncommercial — You may not use this data directly for commercial purposes. You cannot resell or repackage this data for commercial benefit. You cannot commercially benefit by providing access to this data. The intent for use is that any benefit will only be derived indirectly by using this data to search for resources that may provide a commercial benefit as a result.
• Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same license to this one.
It is important to understand that when you contribute your resources to the common index for the general good of all that it can only be used under these license guidelines.
There are two ways you can easily contribute.
You can export your Jumper index database and send the flat file to us via Email at Open Index
Or you can add individual resources to the open index via the Open Index form.
Subscribe to:
Posts (Atom)