Archive for the ‘Componence’ Category

Social media.. Why don’t we just mash it up?

Wednesday, March 31st, 2010

Dat sociale media terrein aan het winnen is, is tegenwoordig niets nieuws meer. Sterker nog, toevallig heeft Facebook vorige week nog Google ‘verslagen’ wat betreft de best bezochte site in de VS http://bit.ly/biqZf9 (Facebook nam 7,07% van het internetverkeer voor haar rekening, tegenover 7,03% voor Google). And that’s quite someting!


Voordat ik verder ga wil ik jullie graag eerst even voorstellen aan de Denen. Één op de drie Denen zit tijdens werktijd op Facebook, waardoor volgens het gerenomeerde onderzoeksbureau Dwarf en Userneeds jaarlijks 1,45 miljard euro aan arbeidstijd verloren gaat http://bit.ly/c5vHQU . Je kan dus wel zeggen dat daar véél tijd (die van de baas) en geld ‘verspild’ wordt door sociale media, maar dan heb je wel ge-update Facebook-statussen ;-) ! Ook wil ik jullie even voorstellen aan de Nederlanders (!). De Nederlanders zijn, op de Amerikanen (aangenaam!) na, het meest actief op het zakelijke sociale medium Linkedin (Linkedin is an interconnected network of experienced professionals from around the world, representing 150 industries and 200 countries. You can find, be introduced to, and collaborate with qualified professionals that you need to work with to accomplish your goals..). En als het voor ‘’zakelijke doeleinden’’ is, wacht men ook hier heus niet tot de baas z’n tijd voorbij is. Met andere woorden; ook op zakelijk gebied ‘verovert’ de sociale media langzaam maar zeker terrein. Dus voor de velen (werkgevers) onder ons die denken dat sociale media slechts voor privédoeleinden te gebruiken is, kijk eens naar de zakelijke mogelijkheden! Die zijn er in overvloed en blijkbaar zijn je werknemers toch al zo vrij geweest om alvast gewend te raken aan het onder werktijd bij werken van hun Linkedin, Twitter en Facebook accounts ;-) .

Veel bedrijven spelen tegenwoordig met het idee om sociale media in te zetten om bijvoorbeeld hun bedrijf te promoten of hun dienstverlening te verbeteren. Maar wanneer kan sociale media eigenlijk effectief gebruikt worden voor zakelijke doeleinden? Er moet bij de basis begonnen worden. Bij sociale media is het van cruciaal belang (!) dat men zich er continue van bewust is dat je met een persoon aan het communiceren bent, niet met een gebruikersnaam. Ik ben van mening dat succesvolle intergratie van sociale media in een bedrijfsmodel alleen maar mogelijk is als er veel persoonlijke kenmerken / informatie van de personen ‘achter het profielen’ zichtbaar zijn, zodat de personen waarmee je communiceert geen vreemden meer voor je zijn. Dit geldt immers ook voor persoonlijk (offline) contact?! Een bewuste koppeling met de offline wereld is dus bij intergratie van sociale media in het bedrijfsmodel zeer belangrijk, en zoals in de ‘Componencebijbel’ dik gedrukt staat; online = offline!

Om nog even door te gaan op de online = offline vergelijking wil ik jullie vragen om even aan een netwerkborrel te denken. Je praat met allerlei mensen die om dezelfde reden naar de borrel zijn gekomen; contacten leggen! Je vraagt wat hij / zij doet en hij / zij vraagt dat aan jou. Als jullie een prettig gesprek met interessante raakvlakken hebben gehad delen jullie visitekaartjes uit en contacteer je deze persoon na de borrel om eventuele samenwerking in de toekomst te bewerkstelligen. Deze offline manier van contacten leggen is online eenvoudig na te bootsen. Je hoeft ze alleen maar op het internet aan elkaar voor te stellen. Maar gezien het feit dat de soorten sociale media divers zijn staan persoonlijke profielen vaak op verschillende plekken op het internet. Bijvoorbeeld de ene persoon heeft een account op Linkedin (1) en vindt het tevens leuk om een blog (2) bij te houden. En een tweede persoon heeft weer een actieve Twitter account (1), een profiel op Linkedin (2) en zet daarnaast ook graag zijn presentaties op SlideShare (3). Iedere persoon heeft op zijn / haar ene account weer andere informatie dan op de andere en wil je zoveel mogelijk informatie van deze persoon te weten komen moet je deze informatie samen brengen (te vergelijken met de mensen die samen komen op de netwerkborrel en een ‘kletspraatje’ maken). Dit samenvoegen van verschillende sociale media op één plek op het internet gebeurd nou op een mashup. Check!

KPN Mashup by Componence

KPN Mashup by Componence

Deze samenvoeging van de verschillende sociale media van een bepaalde persoon (om op deze manier een zo uitgebreid mogelijk beeld van deze persoon te krijgen) en het vrienden worden met de mensen om je heen om zo een goede dialoog te kunnen starten is waar wij bij Componence Social een toegevoegde waarde zien in het bedrijfsleven. Ik zal het wat concreter maken door een event als voorbeeld te nemen. Stel een bedrijf organiseert een event en wil dit graag laten leven onder haar bezoekers en een eventuele follow-up faciliteren. ‘Je wilt natuurlijk dat mensen zo lang mogelijk over jouw en je event napraten’. Als deze mensen zich aanmelden op de mashup worden zij automatisch ‘deelnemer’. Deze deelnemer kan zich aanmelden met zijn linkedin account (zodat hij niet weer een zoveelste een nieuwe account aan hoeft te maken) en kan eventueel zijn Twitter account en SlideShare presentatie toevoegen aan zijn eigen account en voilá.. een visitekaart, klaar om weg te geven. Check!

Als alle deelnemers en sprekers vervolgens hun eigen ‘visitekaartjes’ in de virtuele kaartenbak (de mashup) doen, met andere woorden; deelnemer worden op de mashup, creëer je een plek op het web waar je met een selecte groep (het bedrijf, de eventuele sprekers en de deelnemers) over het event kunt discusseren, gegevens uitwisselen, foto’s en video’s delen, etc. Zo’n visitekaartje heeft hoofdzakelijk twee praktische voordelen, het;

  1. is een combinatie van relevante informatie dat wellicht zelf niet gevonden zou worden.
  2. is tijdbesparend. Het zoeken naar de juiste informatie kost tijd en een mashup kan waardevolle tijd besparen.

Een belangrijk doel van een mashup is dat het de beleving die organisaties willen creeren tijdens offline activiteiten (evenementen, ronde tafels, workshops) online voort kan zetten. En als de deelnemers dan actief gestimuleerd worden om online door te gaan, dan wordt de ‘return on investment’ van de offline activiteit wellicht beter zichtbaar. Als organisator moet je betrokken blijven om de beleving te waarborgen. Dit laatste is een absolute voorwaarde, maar waarschijnlijk moeilijk in te voeren omdat event organisatoren simpelweg zo nòg niet denken. Het ene evenement af, op naar het volgende … Interesse dat zomaar wegvalt is killing voor elke offline relatie .. online idemdito! Daarnaast kan het bedrijf uiteraard mee doen in de discussie, persoonlijke aandacht schenken aan deelnemers op de mashup EN ‘meeluisteren’ naar wat hun klanten bezig houdt en wat er over het bedrijf gezegd wordt.

Bedrijven kunnen op deze manier op dezelfde plek zowel informatie zenden als ontvangen. Tevens zijn ze in staat meer te weten te komen over hun klanten en zoals de spreekwoorden luiden; kennis is macht & gedeelde kennis is dubbele macht!!

Als jullie nog vragen/opmerkingen hebben schroom alsjeblieft niet te reageren of om mij, het liefst onder werktijd ;-) , te Linken, Twitteren, Facebook’en en / of krabbelen.

Suzanne

The future of social media - social business in social comfort zones

Wednesday, July 15th, 2009

The vast availability of social media and its matureness is allowing us to think of Web 3.0 instead of Web 2.0. It’s time for more personal and relevant offers instead of bulk offers. Morgan Stanley asked a 15yr old intern to tell them how teenagers are using media: http://media.ft.com/cms/c3852b2e-6f9a-11de-bfc5-00144feabdc0.pdf .

A clear message: “Most teenagers enjoy and support viral marketing, as it often creates humorous and interesting content. Teenagers see adverts on websites (popups, banner ads) as extremely annoying and pointless, as they have never paid any attention to them and they are portrayed in such a negative light that no one follows them’

The next generation is expecting us to be more ’social’ and ‘personal’ with them. So no more ‘come to our website’ … instead ‘come to me and make me an offer I can’t refuse’.

This is the reason that I find the social media marketing method described on this blog: http://socialnetworkinglifestyle.com/blog/there-is-a-method-to-the-social-media-marketing-madness/ not really ’social’ as it tells marketeers to think that users still have to come to their website for the offering that is available for anyone.

A social media marketing model that I dont believe - its NOT SOCIAL!

A social media marketing model that I don't believe - it's NOT SOCIAL!

Social commerce / business is more about a personal dialogue with offers that are so relevant that users feel special. Web 3.0 is about using all the Web 2.0 data, messages, chatter etc. to make business run smarter (=more personal and relevant). Companies that will achieve this will get to a deeper level of communication with their relations, a domain where you’re found before you’re searched for.

To achieve this another model needs to be created, one that is aimed at long durable social relationships instead of one that is focused on conversion. After finalizing our innovation process with the innovation consultants of CIM - paid with Dutch Innovation subsidies  :) - we’ve established such a model for social media marketing around our Chameleon technology:

SOCIAL media marketing is about durable relationships and relevant offerings - be found before you're searched for

SOCIAL media marketing is about durable relationships and relevant offerings - be found before you're searched for

Although we’re a technology company, I believe in the basic concept of marketing - creating a durable relationship. So many marketing gurus talk about higher conversion, personal branding - I believe they’re making it just to difficult for their followers. An IT statement: KISS - Keep It Simple Stupid. As a technology company we strongly feel we can deliver the tools and techniques required for this higher level of marketing.

So marketeers, just look at yourself, your family and friends - how would you like to be adressed by companies that try to sell you something off line? Does this feel familliair?

  • Don’t annoy me with those standard banners, ads and leaflets!
  • Why don’t they have what I want?
  • Why do I have to search for it?
  • Here they come again, just when I don’t need it.

Marketeers, adjust your online campaigns to something more durable and valuable - the opposite of advertizing on Google! Do you really want to be like bankers that focus on the immediate gain? What is the lesson we all want them to learn? So go and brainstorm with our team about durable relationships and trust that a better conversion will follow. Just compare Love with the red light district in Amsterdam - what do marketeers prefer? Well, if I have to believe Forrester reasearch …

According to Forrester only 6% of online marketing budget is spent into social media marketing - the only alternative to invest into durable relationship online

According to Forrester only 6% of online marketing budget is spent into social media marketing - the only alternative to invest into durable relationship online

Disclaimer: I’m not a marketing guru, I’m just trying to use the web to improve my services to my customers - my ideas are free for anyone to use . Don’t sue me or my company if your boss doesn’t have the patience for longterm results and fires you for wanting something more durable with better longterm results.
Even after you’ve reminded him that the bankers  that caused us all to lose X.000.000.000.000 Euros/Dollars. (that’s X.000 for every person on this planet - many don’t even have it)

Can a cool search mashup be more valuable than Google?

Wednesday, May 13th, 2009
Google mashup - only with google sources?

Google mashup - only with google sources?

Today I’ve been asking people about my idea for a search mashup that can be more valuable than Google. Can it really be true, why do I even dare to be so bold? Some considerations:

  • The amount of popular Web 2.0 frameworks are growing continuously - people like online tools for certain reasons. Google doesn’t know what your favorite Web 2.0 tools are, or else Google might provide a more personalized ranking?
  • It takes time to keep track of all interesting changes in all those frameworks, personally I like Google, Delicious, Slideshare, Twitter, YouTube, Facebook, Linkedin. And I just know that I should spend more time on LastFM or Flixter, but I just don’t have time to really check all the cool things that are available. So can a mashup save me time and allow me to see more interesting content at the same time?
  • It would be even more interesting if I can mix it with my favorite websites, even if they are behind a login. Can I have a search through our wiki / jira in the same mashup?
  • Can the search be more smart and allow me to organize my interests into ‘parts of life’ like work, research, travel, sport, family, friends, movies …?
  • And can the search be so smart to also move along with me through time - during the week or weekends - morning, afternoon, evening, night?
  • Can the search already get me started with the preferences that I have available in facebook, lastfm, delicious, wordpress or tripadvisory?
Google is so good nowadays …
Google is so good nowadays, we don't need the Top 10 anymore - the first 2-3 are enough

Google is so good nowadays, we don't need the Top 10 anymore - the first 2-3 are enough

The picture above compares how people click on Google - 2005 and 2008. It shows that we now trust the first 2-3 results and we don’t need the Top 10 anymore. With mashups you can have the first 2-5  results of all your favorite Web 2.0 frameworks.

A basic ‘Your search’ mashup

I think we can make a first start from the MarCom mashup to a basic ‘Your search’ mashup with the following features:

  • first ask me to identify with either my Facebook, Gmail or Hyves account
  • it should use the same panels like the MarCom mashup (twitter, delicious, youtube, slideshare, amazon, google search, google search - favorite website)
  • the panels now listen to a ’search keyword input’ or a ’search cloud’ panel instead of a pre-configured tagcloud panel
  • if the user has identified with the Facebook or Hyves account, then use the relevant interests metadata from Facebook or Hyves to generate a starting search cloud
  • the search cloud will remember new search key words that are used
  • the search cloud will only show 30 most often used keywords - if there are more - the ones that are least used will not be shown
    • the keywords and related counts are not thrown away, they’re just not shown in the search cloud
  • the search cloud should offer a possibility to show all tags with a link ’show all tags’
  • a user should be able to save a search cloud with different names (eg work, private, travel, sport, cars, etc.), a max of 25 search clouds should be sufficient I think
  • a user should be able to ‘hide’ tags that are not relevant and save the tag cloud under different name
    • so actually there is actually 1 big list of search keywords for each user
    • but through different ‘names’ the user can chose to organize different views of the search clouds

The search mashup app would be cooler if

  • if the panels could be rearranged in size / length
  • the layout would be a ‘click, drag & drop’ to allow users to define their own mashup combination to show results
  • for each view of the search cloud a different organization of the mashup can be remembered (used panels, position, sizes, lengths)
  • if a user can also import tags from:
    • LastFM (favorite artists)
    • Delicious
    • Google bookmarks
    • Wordpress (used tags)
  • If the searchcloud could use variation in density of colors to show how ‘recently’ the search keyword has been used
    • a dense but small keyword means a new interest, but recently often searched
    • a light but small keyword means that it’s been a big interest in the past
  • If the searchcloud could somehow show directly how many results are found in each seracheable Web 2.0 frameworks before I click on it
    • this can be cached every hour?

If we do it for ourselves … then we can believe it’s also cool for others
Personally I know that I’m a reasonable Web 2.0 poweruser and with me I know that Componence team members are above average Web 2.0 users. But statistics show that there are millions more out there that use different combinations of Web 2.0 tools. But they probably all have the same isse, they want to know / see more - but have less and less time to browse the internet. So if the mashup we make is really usefull for us and we really see advantages of it above Google search, then it will be time for us to launch the app into Facebook to see how many more user internationally will find the app usefull.

Mashup example - LastFM in Facebook with Google Maps & Amazon

Saturday, April 4th, 2009

The first Componence mashup example for the world to see

At last - Componence has achieved a major goal at the end of this first quarter! Our first example mashup is ready! It has been a about a month ago when we began to work on the LastFM - Facebook mashup. And after a month, with approximately 500 - 600 hours of work, we’ve put it to a rest. The result:

  • Different demonstrations to music producers showed interest, the producer of The Dream might be interested.
  • Mubito probably will do a Proof of Concept with us in May - we should add their APIs to it.
  • A demo of our new Chameleon technology that I can easily use & show in our sales. The goal from last summer was to have this at the end of Q1.

The background of this mashup
The idea for this mashup was triggered by this e-mail response of Yannick De Rechapt, CTO of Mubito:

” What type of applications do you want to expose into the communities?
- Basically expose content such as, audio, video, member data, feeds, shop widgets with search based on our catalogues + single cart etc… this is a non exhaustive list.

What kind of communities are you thinking about?
- Again I don’t have an exhaustive list but : flicker, myspace, imeem, lastfm, facebook and so and so

Although they had switched their WLP platform to a PHP platform, Yannick was keen about our Chameleon technology, that would allow him to make widgets to be posted to different social networks. We just took it a little bit further …

Not enough real data
Before I want to tell about what was mixed & matched, here is a list of everything that is hard coded due to lack of time / real data:

News not yet implemented

News not yet implemented - it can be a combination of different news sources and Twitter

Photos & Videos - no reliable real source - can be user generated content or Webservices

Photos & Videos - no reliable real source - can be user generated content or Webservices

The mashup ingredients
The main source of the mashup is LastFM, but the mix might make it more valuable for end users.

  • LastFM
    • User preferences / top artists, artist data, event data
  • Google Maps
    • Allowing us to show the events in a map
  • Amazon
    • Allowing us to connect e-commerce to the app

Why Facebook as first choice?
The combination above has been implemented in a Facebook look & feel for the following reasons:

But if this continues into a real project, of course the app would also be available in other communities.

Value for potential business?
Although we don’t know the music industry is not our own comfort zone, I do think this kind of application can help them to deal better with their pains:

  • Revenues - due to illegal downloads - their revenues are continuously under pressure
    • The theory is that if the mashup is valuable enough, the user can take it along into their comfort zone (community, desktop, mobile). And then probably we might get fans to buy albums / merchandise more easily. From once a year to twice a year can already be a huge increase in revenues.
  • Better cost / benefits
    • An insider told me that the music industry are like dinosaurs, they’re so far behind on technology. Just look at the websites of most artists, most of them just don’t really appeal for engagement / interaction with endusers. A mashup can incorporate many popular, of course Twitter on top, webplatforms that are already favorites for user generated content (YouTube, Flickr, Picasa, blogs). If there is better interaction, there are more chances there are sales.
  • Easier way to engage and keep fans happy
    • By being in their comfort zone, artists can consider giving out special freebies to fans who have this app in their profile. Just think of live webcam feeds of concerts? Or free downloads of the latest single within the first 24 hours? Or a sweepstake contest with the ultimate prize being a private appearance.
  • New business model - different subscriptions
    • Silver, Gold, Platinum? With maybe just $1-$3 dollars a month, you can get access to more cool features. With the ultimate privileges like access to special webcam chats, or another free download, or the details to secret appearances or even invites to hangout with the artist.
  • More prolonged return for investments
    • For any artist - starter or already a star - eventually millions is put into marketing. How much return is their in an ad in a magazine or a billboard? How the return of those investments be prolonged? I believe that such offline promotions can easily be connected to the online Fanbase.
    • I think if a fan spends $50 for a single concert and merchandising, by giving discount coupons at the concert to the online shop and special access codes to behind the scenes reports, we might get the fan to spend another $20 online in the week after the concert. And if we’re really good, the fan will make use of the special discount on the Gold membership, that can last for years.
    • Personally I think a really cool mashup would cost between $50.000 - $100.000. With 10.000 fans - online sales between $5-$10 per fan would already be enough. But what if there are 25.000 or 100.000 fans?

Standard Chameleon panels ready
With this mashup we already have different panels that can be easily reused for our other mashup projects:

  • Check login with LastFM
  • Retrieve & show favorite artists from LastFM
  • Retrieve & show Events list from 1 artist from LastFM
  • Retrieve & show Details of 1 event from 1 artist from LastFM
  • Search & show results of artists from LastFM
  • GoogleMaps to show events from LastFM
  • List of related downloads from Amazon

We might come up with cooler names for the panels, but for now, we’ll use the word ‘Panel’ from the Wicket technology - the base of Chameleon technology.

Why our Chameleon technology is really cool
Although the above sounds not to difficult, the real reasons why our Chameleon technology is so cool:

  • The panels can function as different applications - and listen to events from each other
  • The whole mashup can be shown in different comfort zones
  • Each panel can be configured to become a widget that can function in different environments (Java portal with JSR-286, iGoogle, Facebook, OpenSocial, iPhone web app, gadgets on your MacOSX or Vista

Yesterday Eric van den Wildenberg, Director at Brand republic called our technology trendsetting! And he invited me to give a presentation to the whole group of Central Park.

More mashup following
To show and proof the value of mashups, we’ll implement a few more mashups in the coming months:

  • April: social media marketing mashup - easily invite & share from different social networks
  • May: knowledge management mashup - combine different media sources about a specific topic
  • Summer: some more … to come

Using a scrum-like project approach

Wednesday, March 25th, 2009

scrum

We at Componence decided to use the agile project development methodology Scrum to develop a product that has little predefined requirements and a lot of technical challenges.

Scrum is quite a leap from our usual approach called PIM which is Prince 2 based and aimed at structured and controlled project development. Scrum has a highly agile character with scope and planning using yellow papers, daily stand up meetings and a lot of interaction between the developers, designers and project management.

The project team is located in one room on our office. This meant taking people from their usual places and getting them deep into the project ‘cave’. We’ve drawn up a lot of yellow papers with features on them and stuck them to the wall in a square called “Todo”, this represents the open workload and the upper line of yellow papers is the sprintworkload for the active sprint of 1 week. When a feature is being developed we move it to the next square called “In progress”, which has a subsection with features that will be finished today. Finally there is a square called “Done”, this shows all completed features.

Each morning at 9.00 sharp we discuss the previous day, the current day and the challenges we’ve had and still expect. This meeting is open for every member of the project, including our client.

planningThe approach takes some getting used to. Especially since we’re used to working with a strictly defined functional scope that can be developed by multiple teams at once. Scrum is much more efficient, but it is far less predictable and you have to be alert all the time to solve challenges as they arise. As always communication is the key and Scrum supports that very well.

So far the team is happy with the approach and we’re delivering very fast. I’m also very enthusiastic and looking forward to deliver the final product.

Speaking of colors

Tuesday, March 17th, 2009

Componence being the company that it is provides some … interesting experiences abroad. Last week I took a short trip over there to discuss some matter related to the boring stuff we call work.  But it also happened to be “Holi“, a festival that celebrated the victory of good over evil. As with many things in India, they celebrate with as much exuberance as they spice their food.

I was fortunate enough to be with our guys during this time of celebration and they have shown me that they want you to experience India to its fullest whenever they can. In this case it meant that I got to wear many colors. Kind of like a Chameleon one might say. The result is rather colorful and to me the way our Indian team “allowed” (and I use that term lightly!) me to join in on their celebration signifies to me the way we operate here at Componence. Whether in Jaipur, Nieuwegein, Auckland, Lviv or Spain… somehow we always tend to be able to enjoy each other’s company beyond the drudgery of work.

Anyways, more on actual work related stuff later! For now I leave you with a picture and invite you to “spot the foreigner!”

These colors however... do somethingthe colors! they do nothing!

Chameleon needs to be more visual and conceptual

Sunday, March 15th, 2009
We need to be more visual to show the value of our Chameleon solution

We need to be more visual to show the value of our Chameleon solution

In the past weeks I have been telling about our Chameleon solution to managers of different type of businesses like music, publishing, health, communities, education and even pharmaceutical.

The concepts are definitely there, they see the interesting possibilities to combine their content with the Web APIs. And with the possibility to let the results or parts of the results be serviced through different channels (communities, partner websites, desktop, mobile) the possibilities for new online business models become even more evident.

But I have also spoken to many designers, creative directors and business consultants. They all said the same thing: you guys are too technical referring to the presentation of a Fanbase 2.0 concept, thinking that it was a lot less technical than all our other presentations.

Componence Fanbase2 0 Solution V2.3 Teaser 20090312

View more presentations from Ha Vo.

In the coming month I will get us some new presentations that will be 100% better for non technical people to visualize their own possibilities with Chameleon! I will work together with external people to make sure that this time Chameleon will sound like a business solution rather than a technical solution. We should be able to present a presentation like this:

Activity Streams & the social networking malaise

Work done with Wicket on JSR-286 (WICKET-1620)

Wednesday, December 24th, 2008
One major aspect of my work here was completing the Portlet 2.0 specification JCR 286implementation in Wicket . Wicket of course being one of today’s Top web development frameworks and a pleasure to work with. All the work sits under the Wicket issue WICKET-1620 .

JavaDoc

When I came on the scene, Portlet 1.0 support was complete, with the help of Apache Portal Bridges and work on Wicket resource serving support was mostly complete. The first daunting task however, was completing the documentation for nearly the entire existing Portlet support in Wicket. This was a big learning experience and a deep look into Wicket internals (which btw, made me a bit nervous about my upcoming event implementation task). This was mostly completed in WICKET-1875 , with the a lot more additional javadoc included in my patches for WICKET-1620.

 

Events

It was pretty much decided that I wasn’t going to try and do anything at this stage with the public render parameters part of the spec, and was going to focus on the Events system. This was a much bigger task than any of the other parts of the Portlet 2.0 spec, and a lot more complicated than I expected.

However, in the end, I think I came up with a pretty nice solution. After some false starts, I ended up implementing with custom

 

  • WebRequestCycleProcessor
  • AbstractBehavior
  • BehaviorRequestTarget

aptly named

  • PorletWebRequestProcessor
  • AbstractPortletEventListenerBehaviour
  • PortletEventRequestTarget

This really fits into Wicket superbly well, a testament to the sophisticated, yet reasonably straight forward (considering the problem domain) extensibility of Wicket. Bravo.The patches are sitting with the issue, and now that I have some extra time, I will massage them some more and I’m confident that they will be in Wicket 1.5. Included with the patches is also a simple example application.

Known issues with the implementation at this stage are:

 

  1. Issues around events in response to events
  2. Resource URL’s being generated for links, in some cases, instead of Action URL’s.

 

On my second to last day at Componence, I gave a presentation to the company on the work I had done. Posted below are two small sections of that presentation (Keynote is lots of fun) which show the gist of it.

Basic flow of code through the events sub-system

Basic flow of code through the events sub-system

Triggering an event is merely a call into the Portlet API and letting the hosting Portal take care of the rest.

The basic steps for receiving a Portlet event are as follows:

  1. Wicket receives an event request - this is like a normal HTTP request (or a Action request in Portlet speak - so to speak ;)
  2. Wicket calls into the custom (registered) PorletWebRequestProcessor.
  3. The PorletWebRequestProcessor checks the context is an Event Request - otherwise the processing is delegated to the parent.
  4. The Request Target is resolved to the custom PortletEventRequestTarget.
  5. During the normal Wicket request processing, at the appropriate stage, calls into our PortletEventRequestTarget the processEvents method from the IEventProcessor.
  6. Inside this method call, we search through the page’s component tree looking for behaviors attached to components which extend the AbstractPortletEventListenerBehaviour. The search performed is a depth first recursive search. I have a niggling feeling that this could perhaps be improved somehow.
  7. When found, the event name is checked to see if it matches the name of event the behavior is registered as wanting to subscribe to.
  8. If they match, we call into the behavior, passing in the Event.
  9. Hey presto!

In hind sight it all seems a little simple now ;) But of course I have come out the other end a much wiser and learned man - gotta love the opportunity to learn from Open Source! So my current view is of course, biased.

wicketevents-code

Code example of using the events API

I’m very proud of the work I’ve done on Wicket and am very excited to see it make it into trunk. As I said before, the next step is to polish up the patch and remove extra unneeded code (it’s pretty big), so that the core guys can review it properly.

A snapshot of the end of my talk at Componence about Wicket et al

A snapshot of the end of my talk at Componence about Wicket et al

Author:    Antony (Tony) Stubbs
Source:    Tony’s Blog on http://stubbisms.wordpress.com/

Guidelines for a successful long-tail portal strategy

Saturday, November 22nd, 2008
At Componence we understand the challenges in achieving a succesfull long tail strategy. Therefore the principles will help your IT department to control your investments with a clear focus to reach the point where you can roll your your long tail strategy:
  • Get your business model targets clear. What is the yearly value of your top 5% clients? What is the average yearly value of your target group? What are the revenues of a portal if it will only attract 10% of the business of your current successful portal? Can you divide your target group into at least 20 different segments, each with at least 10% of your targetgroup?
  • Make sure to earn money as soon as possible. Start with the standard solutions and killer applications. Make sure that enough features are included to show your business units that the components of your framework are various enough to be combined in many online business concepts. Elements such as your core products, search, killer applications, e-commerce and operational improvements are proven in your first portal.
  • Challenge any custom requirement for their ROI. Business users are often convinced that some specific custom features will bring success. Then let them quantify their reasons into a ROI. And if the trend arguments are introduced, implement your components as standard and generic as possible.
  • A first portal within 6 months incubation. A first portal must always be launched as soon as possible to evaluate the success of the specific elements (e.g. pages, portlets, business rules) the concept. It’s crucial to find out what is necessary to make the platform more sufficient and generic.
  • Developing a follow on sub-portal must cost less than 10% of your initial investments. The main objective is to create portal frame work that is complete and generic enough to will make it possible to launch new portals with less than 2 months.
  • Developing a follow on sub-portal must take less than 2 months time. The variables of the generic concept must be clear enough to implement a new portal within 2 months. The goal should be to launch at least enough portals to earn revenues that will at least cover the running operational costs within the same year.
  • Keep your business units focused on the long tail concept. Your project teams must not be distracted by the numerous creative requirements that will be submitted by your business. Until the long tail concept is proven, spend at least 50-60% of your investments into requirements that can be generic to serve at least 10 portal concepts.
  • Keep a separate framework development track. Make sure that your project teams do not mix the framework with your projects. There must be a separate project board supported by your program board to maintain and develop the generic framework.