nedeľa 17. októbra 2010

Hey Mr. Developer, what are you gonna do?

These days, it is not easy for a developer to choose where to invest his or her additional creativity and effort. The decision depends on developers' skills, interests and finally on the available projects and challenges. The happy ones are doing enough creative work at their jobs or academy. But there are many developers seeking for exciting projects which would wake up their passion and let them show what they are good at. Let's have a look at few of these opportunities.

Do you want to be at the cutting edge of technologies?
Then read technological blogs. That is the place where you get hot ideas and trends about where to invest your additional time.  Here are some of the blogs you may have a look at:
http://www.dzone.com/links/index.html
http://java.dzone.com - for Java developers
http://planet.jboss.org - JBoss is strong community supporter and aggregates many valuable blogs on their site
To be at the cutting edge of technologies development, you may need to focus more on platforms then on what can actually be built using them. For example in Java EE 6, there was a new extension mechanism introduced, which enables extending the functionality of Java containers. If you create something valuable, there are chances that Java EE 7 will have your signature imprinted.
The Java platform may seem a bit "huge" for the beginner, but there are plenty of relatively new and less evolved technologies, which will welcome your helping hand. After all, you may want to help improve one of the platforms that you are familiar with.

Do you want to make a business?
Try customization. There is huge amount of good software, which is not used by the right users just because the software needs a bit of a customization and users need helping hand in getting it to work. Try to be helpful and listen to the people in your community. Their needs and ideas are your key to a global business which lays within your reach.

Are you bit of a "scientific soul"?
You can have a look at semantic web or other applied AI areas (natural language processing, pattern recognition, games AI...). The semantic web is quite developed and does not feel like a new wonder of the world anymore, but that doesn't mean it's not interesting. Actually it is becoming more interesting then it was before mostly because some people did a great job in this are. You can have a look at Linked data and think of adding semantics to your existing web application or widget. Or add semantic functionality to web browsers by extensions, which may become used by thousands of users in very short time.

Do you like to compete?
If you like to compare your results with other developers, you can accept some of the challenges available out there. There is a variety of opportunities, from which you can choose. If you are looking for creativity challenge, have a look at Intel AppUp developer challenge or Android Developer Challenge. Participation may also bring you unexpected financial satisfaction ;-) For those who feel like competing in creating software by the specification, there is popular TopCoder web with many features and opportunities that may inspire the whole range of your development passions.

At the bottom line, i would like to mention one recommendation which i have read in Jason Frieds' books - try to solve your own problem and you will find solution to problem of many other people. Not all of us get brilliant ideas every day, but waiting for such an idea is a wasted time. Start doing something and you will figure out what you wanna do along the way ;-)

nedeľa 26. septembra 2010

Introducing Marquess - a tool for ad-hoc search and navigation

Are you a journalist, analyst or someone who is interested in easy access to various relevant content? There is finally way to let your computer search for you. Try new tool for ad-hoc search and navigation called Marquess

Marquess is available as Mozilla Firefox add-on and can be easily installed into your browser. After few clicks install you can choose to display Marquess panel in the browser window. 


Now you can see the Marquess Bar panel, which contains area for generated navigation links.

The default mode is automatic, so the next page you open will be analyzed and you will gain additional links relevant to the contents of that page. The links area will be filled with important terms found in the text and links that are relevant to these terms.

On the next picture you can see the result of opening a BBC article about West Bank settlers. You are instantly provided with links to recent and relevant news articles and videos about East Jerusalem, Mahmoud Abbas or Ehud Barak. 

If you are looking for some other terms and links then provided, you can remove some of the terms and automatically obtain next relevant term and related links. If you don't like the feature which automatically gains new terms and links for every opened page, just click the button "Mode: Automatic", and you enter the manual mode. In this mode, you decide which page will be analyzed by clicking the button in the right bottom corner.

There are two more useful features which include direct Wikipedia links and one-click Google search. You can access these features by clicking buttons in the links list. 

You can also select part of the text of a web page and gain links relevant to this text. To do this, simply select part of the text, right-click it and from the context menu select "Send Text To Marquess".

The tool provides an expert mode, in which you gain full control of the search process. This mode requires more attention from the user as it is not automatic. The features of expert mode will be introduced in one of the next articles. Till then, you can try to explore the tool on your own ;)

The add-on is available for download here.

There is a user forum available for Marquess users.

Integration - a way to provide better navigation

Integration is one of the key aspects which makes things work on the web. In the field of navigation we consider following levels of content integration: 
  • Statically linked content - static links
  • Dynamically linked content - dynamic links or page chunks like weather forecast widgets
  • Semantically linked content with regard to its' semantics - like Wikify!, which links text to Wikipedia articles

During the evolution of web, the static linking was the first level of content linking, which is simple, widely used and sufficient for many purposes. It provides almost absolute control over the integration - unless the target content becomes irrelevant or unreachable. The expansion of databases usage enabled dynamic content linking. This is a big improvement of integration, but not as big as it would seem. Relevant content is still integrated by humans, but the results of integration are presented to the user dynamically. Imagine news portals - regular news portal provides the "Similar articles" section, which enables a shortcut to older or more recent related articles. Who created relations between these articles? There may be some recommendation systems helping out, but in the end, it is journalist or editor who sets them. So the relations have moved from pages to databases, what makes their use more flexible and manageable.

Now what the semantic content linking adds to this stack? It lets page linking and content linking do what they are good at - creating relations that can be determined at the time when content is created, and it introduces a new concepts - context dependance and knowledge linking. Knowledge linking enables access to the content with regard to what it "means". It is not linking of pages based on human made relations, but linking of content using human made knowledge (it is likely that computers will be able to gather knowledge too, for now they can make inference from formally represented facts, but are not that good in identifying meaningful new facts from unstructured text). In the field of web navigation, the context dependance is important. The context is not the page read by the user - it is the entities, facts and finally knowledge contained in the text of the page. The key is to make computer "understand" the context and identify it correctly. When this is accomplished, semantic content linking can open door to more simple orientation on the web. In fact, that is what we long for. We want simple access to the content that would otherwise be hardly discovered, and we want it as fast as possible.

There are formal issues that enable knowledge integration (ontologies, linked data, ...) which will be discussed in later articles. In the next one, we will talk about integration of different content resources available on the web. When mixed together in the right proportion with some extra processing involved, they open unexplored paths right from the page that you read.

See you soon ;)


piatok 24. septembra 2010

Riding the wave of web navigation

Why is the web navigation interesting?

Web is huge. We can't even imagine it' size. As it grows, new methods and techniques of search, navigation and orientation are emerging. Are we going the right direction? Do you really feel that you have access to the essential content offered on the web? Are there some trends or tweaks how you could improve your orientation in this organic mass of content? If you are interested in this topics, you would probably find some valuable information in articles and related content of this blog.

Now, let's come down to earth.  There are a few reasons why you can be interested in this topic. You may be interested in fast gaining of various information about current events. You may be interested in deep knowledge about people, places or historical events. You may also find usage of current search engines and catalogs boring and uncomfortable. I was thinking this way too. Computers are getting smarter (or at least they can pretend to be smart) and they have great computing power, so why do we still have to struggle through vain content till we get to where we want to be? There is luck of integration of valuable services provided on the web. You are reading an article about EU economy and you find it interesting. What to do next? Google... Twitter... News portals... Wikipedia... Delicious... what if all these things would come much closer to the point of your interest? Now they are separate and distant like various candies in the candy shop. You want to taste? You have to move around, decide, try, decide again... until you find what you want - but don't forget that you must know what you want. What about if there was somebody to offer you a small but tasty candies, which you could easily try (of course without gaining weight :-)  and enjoy or ask for another?

Way beyond

In these days, the orientation in the web is similar to the first case. We move around the web and try to find out what was that we wanted to find. Social networks had a great influence on this so now we are looking at the content that our friends like. But, world is bigger then our social network contacts (that doesn't mean they are useless - no, but they are more about fun than about serious improvement of orientation in the web). We want to be offered with the content ("candies") and we want to be offered by someone who knows what is interesting. That "someone" is the collective intelligence gathered in folksonomies like Twitter or Delicious. They provide source of information, but navigation requires more than that. The way how this information is served to the user plays important role. This is one the topics that will be discussed it in the web open space blog. You can expect discussion about real tools and solutions that will help you see deeper into the virtual space of the web.

Be prepared and stay connected ;-)