Zobrazujú sa príspevky s označením semantics. Zobraziť všetky príspevky
Zobrazujú sa príspevky s označením semantics. Zobraziť všetky príspevky

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

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 ;)