Mobile and Widget/Gadget based content delivery faces very similar issues. Both need to address limited form factors. Both need to address Multiple form factors. Both need to handle multiple platforms ( WAP/XHTML and possibly Flashlite for Mobile, Yahoo/Google/Vista and browser based gadgets otherwise). The bigger problem is that in the current state, there is no clear industry leader and that all the platform fetch marginal revenues ( Most of mobile revenue is Text/SMS – not addressed here).

However, both platforms are increasingly gaining importance. Data revenues is 12% or so of total revenues of Mobile service providers ( though it may be argued most of that is 3G cards to make Laptops connect to internet and not mobile). And widgets are coming up as useful tools – slated to rival RSS – for repeat/loyal traffic.

Today – atleast to my knowledge – there is no silver bullet for content delivery on these platforms. Companies are experimenting and implementing different ways.

For instance – there are two popular ways for delivering content effectively on mobiles

1) to use a platform like Volantis/Drutt/MobileAware  and more. to code once and deliver on multiple devices and form factors. These products do a good job of having an updated repository of mobile capabilities and limitations and hence can choose how to present content. Apoorv had earlier written this article about mobile content delivery to explain this concept.

2) To use a Gadget/Widget like approach as provided by Zumobi , Yahoo Go ( and I am sure there are more).

Similarly when coding cross platform widgets, people usually look up to use Flash ( which is supported on I think all widget platforms – yes even Yahoo supports it now – and which can be converted to executables for use as desktop widgets)

I just hope that both mobile platform and Gadget providers see this as a single problem and hope we have either a clear winner or a clear standard addressing both!

If any of you has pondered with this before – please post a comment and lets share notes.

Advertisements

Almost everyone wants guided navigation ( or multi-faceted navigation) now. Commercial entities like Endeca rule the space, but tend to get really expensive really fast.  So I looked at Apache Solr ( based on Lucene) for such need for a customer.

Solr is pretty impressive. You can do multi-faceted search and navigation based on pre-defined tags. The navigation could be based on string matches, one of multiple-value matches, date range match etc. – and you could optionally do keyword search as well.

This fits the bill where you have structured metadata ( like a product catalogue / product reviews like CNET review etc).

So what about “guided navigation” for content which has not been as effectively meta-tagged.

Now this is where it becomes challenging in open source stream. There are a few projects like Classifier4j – which uses byesian filter which can be trained to auto-classify content. There are projects like carrot2 which do search result clustering. Carrot2 is pretty effective in choosing the phrases to cluster against. About 80% of  categories it determines are very meaningful. It appeared a bit slow in the tests I ran. I am not very sure of its performance for large resultsets – or what % of meaning categories we miss out on.

The auto-classifiers need a lot more work. They are not simple plug and play – I dont know an effective open source alternative for this yet. So I am spending some time – looking at it from ground up using  a set of existing libraries which can provide base for text classification. I will update if I make a headway – Or will appreciate inputs from someone who has got it working.

Search result prioritization can be done on defined metadata easily – but I have not tried “learning” software here. Similarly  am yet to try “suggestions” and spell checks.

In short – Using lucene/solr for multi-facteted search is a very viable alternative to complex database queries and expensive commercial engines to implement the same.  But you are not getting a 1:1 equivalent of Endeca or Autonomy.

Media companies never agreed on the WCM to use in the past, while many were on Vignette and Fatwire, others were on ground up solutions.  Today, while they are going on their 2nd or 3rd generation WCM, they still dont seem to agree on a clear winner. I know of 6 big companies.

One is moving to ground up CMS on Java Platform based on Apache Jackrabbit Repository.

Other moved from Java based ground up to Microsoft based ground up ( Interestingly Microsoft did this ground up implementation – they couldnt fit MOSS here — does this point to interesting WCM features in next version of MOSS ?? )

Third is moving from Ground up based on microsoft platform to Vignette.

Fourth is moving from Open source PHP to ground up Java.

Fifth is moving from ground up on traditional Microsoft architecture to .NET

The sixth did something more interesting. While they kept the CMS same, they moved away from Taxonomy based navigation and manual ranking to Endeca based content prioritization and navigation. This gives them a really comprehensive navigation. I found it extremely useful for long shelf life content.

The  move to innovative solutions and ground up solutions doesnot seem to be surprising as the fragmented market would have never given good revenues to any single vendor (hence forcing the vendors to focus to corporates).

In past three months, I have been faced with many Request for Proposals for customers looking for mid-market CMS for their second generation web-site – which they want to launch in 3 months time.  Having looked at those again and again – I now in many cases end up basing our proposal on Ektron CMS400 ( alteast for Corporate internet website scenario).  Heres why.

1) Innovative approach to custom meta-data: In top tier solutions, we tend to draw a neat object model depicting properties of different types of content we need ( e.g. Product Vs Press Release Vs other information etc. and possibly within product itself classifying based on types of products to be able to do navigation and filtering properly). In Ektron – its simpler. You define metadata and you associate a subset of it with whatever you want. So at the heart of it, all text content are “html content” type – which means you are free to move the content around and position it whereever you want to – and based on the content location – choose to have different metadata ( if you wish). It is much faster to configure, confuses users less and achieves the original purpose.

2) Multi-lingual capabilities: It provides multi-lingual capabilities allowing you to set up multi-language versions of the site very easily – tightly coupling content in different languages. However it could do with some better support for multi-country scenario ( where we may choose a subset of content).

3) Office and Explorer integration: Ektron offers Document management extensions as office interfaces and explorer interface which let you directly manipulate documents in Ektron repository. These are extemely efficient for managing attachments to pages ( if for a moment we forget document management capability in its own)

4) Forms builder: It has a wysiwyg forms builder which is extremely useful in scenario like surveys, feedback forms and polls. it comes with a good number of template solutions covering many populer internet and intranet scenario – Possibly closest to corporate website.

5) Calendar and events: It has an extremely ready to use Events calendar. Its UI has a few limitations like difficulty in creating multi-day event, but overall it works well out of the box.

6) Seperate content organization and site organization : It has content folders to manage content items, while a combination of taxonomy and navigation for site organization. Which means that you organize the content folders like your content production organization  (e.g. company/department/product/printer ) while you do your website they way marketing wants you to ( e.g solutions/home/printer as well as products/printers/…)

7) Efficient template development : It offers slightly rigit ASP.NET components to render content. You want to use them as you want the in-context editing to work, however it appears to be slightly less flexible than the top tier CMS. However – you soon start to like it as you can get the look and feel you want and your code looks simpler.

8) Publishing options: It has instant publishing – at individual content item level – as well as site replication. It works well in both the scenario of infrequent large updates as well as frequent small updates with required governance model.

 However there are certain things it can do more 

a) Offer friendly URLs

b) Offer static publishing as an option, and offer ways to have a loosely coupled content delivery.

c) Auto generate google sitemaps

d) Offer more tuning options ( like Javascript minification)

e) A more comrehensive multi-site model.

f) In my opinion, the interface works best if you have <10,000 content items and < 200 content items per folder in a single site. Beyond that, it might be more efficient to handle the different sites as different instance. This is good for large corporate sites, but may not be great for media companies. The plus side is that the interface is simple to use and extremely functional.

g) More solution accelerators / startup sites: Currently ektron comes with 4 starter sites – essentially targetted at Internet scenario. A couple of more sites targeted towards B2B  or Intranet scenario – optimized for identified users ( not anonymous users) will be great. Sightly more complex implementations for things like “products” solutions etc. will be welcome.

h) Though the pricing/licensing is simple, its could be simpler. For instance, I find it difficult to understand whether a URL license includes country variations ( like .com/.co.uk etc) or not.  Similarly the development/staging/QA licensing is not very clear – it appears to be bundled with support (i.e. you can no longer use the development/staging/qa if you dont renew the support/AMC). Or – you buy persistant license for each URL/environment. A clarification statement here will help. Also if you switch from URL license to server license , it’s pricing becomes very close to top tier CMS solutions. ( I am sure that Ektron would be willing to negociate the price down though).

My Views on RIA

April 6, 2007

Having used asynchronous/part refreshing interfaces and rich client interfaces since 99, I was quite surprised on Ajax and RIA suddenly been seen a new and happening. While thousands of DHTML/javascripts have always been available by individual developers and botiqueues offering RIA. It was a tough task finding what worked and what was flaky and invariably required a lot of coding.

However with RIA becoming popular, we started getting more integrated offerings in terms of toolkits. There were and are multiple approaches:

Pure Browser based:

– Pure Javascript toolkits : Dojo toolkit, Yahoo UI library, Open Rico etc.

– Server side Java toolkits to generate RIA client code: GWT, Echo2 etc. (Possibly JSF can also fall here)

Rich client:

 – Flash based: Either using Flex/Atlas feeding Flash, pure flash widgets, or Flash generated by OpenLaszlo

 – Windows Presentation Framework – the Microsoft’s anwer to Flash – with WPF/E availale it now supports many browsers, not just IE 7.

– Traditional rich client ( Applets, Activex etc. and not so traditional – Java’s F3)

 In the past, finding a good javascript, and Activex used to the only practical options with the rest being too heavy or too flaky. For instance a few years back – It took us over two weeks to optimize Javascript tree menus so that they could render 2000 Nodes.

Today, all of the above are viable. But the question is – which is most pervasive (i.e. will work for most users – based on the current hardware / software they have), which would last some time and which are least likely to break with server side application upgrades.

I find JSF and server side toolkits like GWT slightly difficult to use as there are different versions of JDK and different server side frameworks that we need to work on. However any stand alone – client side item – whether flash/applet or javascript is good enough. I am in no way writing them off. If your need is limited to a single product/platform and you have developers who understand event driven programming – like Java swing – this may be the best option allowing you to debug on proper IDEs – which must be a lot more robust than difficult to test javascripts. I have talked to developers who swear by GWT having taken away their cross browser worries. And I even find a greater willingness amongst programmers to write Java code using GWT than javascript. Now that is a very real advantage.

So among flash/Applet and Javascript – my personal experience forces me away from applets. Its very difficult to get it to make applets light and to get them to work ( atleast amongst the ones I have used – not necessarily coded) and they take just too much time to load – even F3.  Activex used to be slightly more reliable but is increasingly facing trust issues. Flash are robust, fast and persvasive and Javascript based RIA work well – as long as they have gone thru a lot of quality control and testing for cross browser compatibility.

In my personal opinion, I would prefer javascript over flash, even more so with the advent of toolkits. The reason for that are

  • It looks one with the rest of the page.
  • You can select text.
  • You dont have to suffer “click here to activate” forcing you to click twice when all you want is to push a button or expand a node.
  • You dont want browser selection to be chunky etc.
  • You dont need to worry about Javascript vs Flash ( or whatever) interaction or need to worry about how to share data and events between different active windows on page if the entire page is not rich client.

But Flash like client are not a write off but bring a huge value – in fact in content management field, media fields and print fields they can have huge advantages which Javascript cant.

  • you can do multiple file select – no need to upload one file at a time.
  • While editing (lets say you are posting a yellow page entry or classified) – you can take advantage of kerning, hyphenation and justification being able to calculate real column inches
  • You can actually play video and audio
  • Its slightly easier to get them to actually work, after all their environment is more unifirm than the number of browsers. (but wait – before you carried away by the 98% figure that flash claims, Flash 7 , 8 and 9 are all present, flash doesnt come by default – and you need to worry about making your script cross flash version compliant and adoption is driven by biggies like myspace and youtube)

I am faced with a situation where I have to write components which work on a set of existing applications. The existing applications are based on Java 1.4/5/6 on different frameworks. So at this moment, since I dont understand how server side javascript generators can be used, I wont use them. I will go with javascript using Yahoo UI and flash where I must ( generated using OpenLaszlo). However once I understand server side toolkits better, I will give them a real shot.

EZPublish rocks

April 3, 2007

Myself and a collegue have been playing around with open source (non Java – LAMP or similar technology based) CMS and related softwares for quite some time now.  Among the CMS software – We have gone in detail thru Joomla!, Plone and EZpublish (and are yet to cover Bricolage and Typo3 – which I belive will cover the spectrum).

Brief notes on them

Joomla! – rocks on its simplicity to set up a website. However it stops short of being a CMS. (for instance – you cant put metadata to images), It stops short of having a workflow and versioning. I think I will prefer it for setting a personal website over anything else that I have seen.

 Plone  – a lot more professional and a complete CMS – has proper workflow, has versioning extensions, has proper access control etc.  However it feels too much 2004, too much file sharing platform and less of a WCMS and it takes time to learn and work with.

EZpublish – is just great. It will give any professional CMS a run for its money – sample these:- make an article appear in more than one places, run multiple sites of single install – reusing content if you wish, mutliple views of a site, great community support, real upgrade path which works – while upgrading versions. It even offers commerce. – And commercial support too. I guess it offers all that mid sized WCMS implementions needs.

I think i will recommend it as a starting point for those looking for PHP based WCMS – chances are that you will not have to look any further.

(I was looking at feature fit for the following scenario:

1) Product catalog for a multi-brand/multi site/multi geo organization

2) Publishing of online news and periodicals by a mid sized production team

3) Intranet site listing organization information like policies etc.

If your need doesnt fall into above and is much different like collaborative document creation and sharing, legal content filing etc. – then you may find this information useless.

)

It looks so good that I am wondering whether to continue to look at typo3 and bricolage at all or not!

I have been playing with Java based open source CMS as well – though opinions that are for a different day.

In case any of you need notes I gathered on these products ( which in no way would be anything close to a professional summary – likes of what CMSWATCH does) – drop me a message at pranshuj at mindtree.com

Last week, Microsoft launched the much awaited sharepoint templates. These are kind of solution accelerators and have been available with earlier versions as well.  However the release was a bit disappointing, coming only for Sharepoint Services – covering workgroup scenario with dashboard of events, projects and collection of documents.  Most of these templates are an upgrade of those available earlier, with nothing being available for ECM and WCM scenarios.

Like MS CMS, there are some things which are difficult to do in MOSS – like making a story appear in two places on a website, or making a display template look different from content entry template.  Providing application templates , which also cover such scenario are definitely needed as they would cut down implementation time by 3-4 weeks.

The default templates  and Role Based Templates also leave much to be desired with simple WCM scenario available in default templates.

While Microsoft’s Marketing machine is positioning up MOSS from department to enterprise levels, these templates are just not helping confirm the same.

Lets hope that better application templates are on the anvil and would be out soon.