Month: September 2007

New Alfresco tutorial on implementing custom behaviors

I’ve written a follow-on article to “Alfresco Developer: Working with Custom Types”. This one is on implementing custom behavior. In the new article (with accompanying source code), I build on the SomeCo Whitepapers example by adding support to the content model for user-contributed ratings of whitepapers. The custom behavior is used to calculate the average rating for each piece of rated content.

My plan is to follow on shortly with an article that shows how to use Alfresco’s new REST-based Web Script framework to enable the front-end to rate (and get the rating of) content in the Alfresco repository.

So take a look and let me know what you think.

More about the Alfresco Developer Series.

Native NVIDIA drivers and wireless working in harmony

The VGA out on my Dell D820 wasn’t working so I downloaded and ran the Nvidia installer for the latest native driver making sure I followed the pre-reqs documented here. That fixed VGA out and made the open gl screensavers work appropriately. What I didn’t realize at the time was that it took out my wireless. That’s because removing the linux-restricted-modules package, as the instructions suggest, uninstalls a wireless dependency. If I had known that (which is pretty clearly documented on the Ubuntu forums) I would have followed the alternative method which is to add “nv” and “nvidia_new” to the DISABLED_MODULES list in /etc/default/linux-restricted-modules-common and then run the Nvidia installer.

The message I was getting when I was trying to start up the wireless interface without the restricted modules package installed was:

SIOCSIFADDR: No such device
eth1: ERROR while getting interface flags: No such device
eth1: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth1.

After running the installer with the DISABLED_MODULES set both Nvidia and wireless are behaving.

Gartner Portals, Content, and Collaboration Conference: Day 3 Notes

Planning for Five Major Mutually Reinforcing Discontinuities

This discussion was about how the following five things affect vendors and the IT landscape:

  • SAAS
  • Global Class [Infrastructure]
  • Open Source
  • Web 2.0
  • Consumerization

SAAS

  • Vendors are scrambling to figure out how to fit into the new model.
  • They should be looking at it as a deployment and financing option but most aren’t.
  • Requires a different business relationship: Service levels, vendor is responsible for functionality (rather than customer)
  • Easy for customers to experiment with
  • Never-ending payments
  • Security, integration concerns
  • Big plays: Team collaboration, web conferencing, eLearning

Global Class [Infrastructure]

  • Extremely loosely-coupled
  • REST/POX (Plain Old XML)
  • Assumes that security threats are everywhere
  • Does not assume any particular platform, OS, or browser
  • At the current rate of scale-out, by 2010, 30% of the world’s servers will be in the Googleplex

Open Source

  • Not just about acquisition cost. Pay attention to TCO.
  • Impact of open source is understated. (The presenter meant it was understated in the market as a whole, but I’d say it was also understated by Gartner and at this conference, specifically. Maybe they were holding out for the Gartner Open Source conference later in the week?)
  • No throat to choke (I’d say this is true only for non-commercial open source projects).
  • Study shows that if open source databases were bought like licensed software, they’d have 40% of the relational database market
  • Bottom line: What is your risk profile? (I thought this was a little much).

The Web 2.0 and Consumerization discussions were essentially repeats of prior sessions. Digital Immigrants/Digital Natives, Directors vs. Leaders, “Get a MySpace for your place”, etc., etc.

On innovation

  • Innovation occurs in the hands of the users so let the users go
  • Failure breeds success
  • “Democratizing Innovation”, by Eric Von Hippel (I found a free PDF of his book at http://web.mit.edu/evhippel/www/democ.htm)

Why Your Intranet Should be More Like the Internet

“The workplace should work like a machine, but adapt like a marketplace.”

On “Knowledge Management”: The internet is already solving the problem of content classification/organization and expertise location. Why not use these tools internally?

According to a Gartner study, the most often deployed (> 50% of orgs) social software types are currently: Email, IM, Web Conferencing, and Team Workspace. Less often are: Wikis/Blogs, RSS, Expertise Location, Social Tags/Bookmarks. (It is interesting to note, however, that most of the conference presentations treated “Wikis/Blogs” as almost passe, saying, “Most of you are already experimenting with these technologies internally”)

Social software functionality can be grouped into technologies that help:

  • Create
  • Organize
  • Find
  • Interact

Gartner is preparing its Magic Quadrant for Social Software. No one’s in the Magic Quadrant yet. The categories of vendors will likely be:

  • Social Software Suites
  • Wiki-centric
  • Blog-centric
  • Discussion-centric
  • Specialists

Critical functionality for social software deployments in the enterprise:

  • Open (from a technical perspective and from a “who can use it” perspective) and easy-to-use
  • Expose connections through bookmarks/tags
  • Provide a bridge to email
  • Focus on people first. Identify evangelists. Appeal to self-interests
  • Provide initial structure but be flexible and don’t overdo it
  • Lead by example, reward participants with attention

Gartner Portals, Content, and Collaboration Conference: Day 2 Notes

Portals, SOA, and Mashups

Portals have worked well in some enterprises, but there are problems:

  • Heavyweight technology requires specialized skills
  • Over-engineered platforms and protocols are complex and expensive

Portals will likely be an entry point for enterprise mash-ups

Interesting tidbit: Systems reflect the structure of the organizations that build them. If you have a dysfunctional organization, it is likely your systems will be too. Building the “perfect” system doesn’t help. Over time, the system will degrade to match the structure of the organization. (Melvin Conway, 1968).

I’ve definitely seen evidence of this at clients. A really obvious example is in workflow-centric solutions. Companies rarely take the time to streamline and cleanup processes the way they need to before formalizing the processes in automated workflows (“Implementing the new system is enough change. Let’s automate the way we do it now to encourage user adoption. We’ll come back later and tweak the business processes.”). So what you end up with is a system that works exactly like the current business process, warts and all.

More info on Conway’s Law at http://en.wikipedia.org/wiki/Conway’s_Law

Portal of the Future

More discussion about the differences between Digital Natives (the generation of workers entering the workplace today) and Digital Immigrants (the generation of workers who’ve had to adapt to digital technology). Where this relates to the “Portal of the Future” is primarily about expectations regarding how we interact with relevant data. The nature of this interaction has to be client-independent, device-independent, context-aware, and truly-mobile.

Trends:

  • Portal vendors will decompose products into services
  • Portal as entry point for enterprise mash-ups
  • Portals sharing data (due to most enterprises having multiple portals deployed)

Sites to check out for good examples of alternatives models of content aggregation:

These are basically the next generation of the old “My” portals.

Portal interoperability touchpoints:

  • Portlets (Standards exist here, but not for the rest)
  • User Profiles
  • Directory
  • Security
  • Metadata

Mash-up tools/APIs:

Seven Key Strategies for Combining Portal & CM

Probably a better title for this presentation would have been, “Seven high-level ideas that are related to portals, content, and collaboration”. It didn’t really discuss the combination of the two at any level of detail.

1. Build a foundation for a high-performance workplace

  • Provide a flexible environment to support the non-routine tasks people do every day. Key technologies: Collaboration and Content Management (Basic Content Services).
  • Focus on non-routine tasks and decision-making enablement
  • Content and collaboration are “birthright” technologies for your employees

2. Use the right tool for the right task

  • The problem is that email is being used to create/share content
  • Use BCS as a way to migrate people away from email

3. Take a process view

  • If you want to really get a handle on collaboration and content you need to start by looking at the processes in which collaboration plays a part or which involve content.
  • Gartner talked about two types of content/collaboration apps using two acronyms: CEVA & WEBA. Hopefully, these new acronyms won’t out-live the conference, but just in case they do…
  • CEVA stands for Content-Enabled Verticalized Applications. This is an application that is focused on a core business process. For these apps you should be able to provide templates, workflows, and automate some or all of the business process. (A lot of the workflow apps I’ve built over the years have been CEVA’s. Who knew?)
  • WEBA stands for Workplace-Enhanced Business Applications. These are apps that our really outside of your core business process. For these you need to define policies, communicate best practices, provide support, and examples.

4. Intranet & repository consolidation

  • The path of least resistance is to freeze your legacy content and create all new content in the new repository. The legacy repositories will dry up and go away over time.
  • The other alternative is migration, which can be costly, but at least gives you the chance to clean up.
  • The route you choose is really about cost.

5. B2C web presence

  • Most enterprises will need both Portal and Content Management
  • Each has specific areas of functionality they are responsible for, but there is some overlap in the gray area between the two.
  • For some reason, the speaker went deep into eforms at this point which I found strange as the bullet is about B2C web presence. I don’t downplay eforms as important, particularly as a low-hanging fruit for most enterprises, but it seemed like a non-sequitur.

6. Customer-centric communication

  • Nothing significant to note for this one.

7. SOA framework for the assembly of services

  • Again, kind of fizzling out at this point but the speaker did point out that your metadata approach can impact your ability to provide meaningful integration between or federation of your repositories. Enterprise-wide efforts to define and update an enterprise-wide data model help but can be costly.

Usability & Productivity: Are We There Yet? (Jakob Nielsen)

This was my first time hearing Nielsen speak. I found him to be insightful, engaging, and entertaining. Catch him when you can.

Usability is not just about visual design–it must also include information architecture and interaction design. You cannot just come in after the coding is done and slap on a pretty interface.

Everyone can do (and should be doing) usability testing

  • Doesn’t require a lot of fancy equipment
    • Closed door
    • Web cam
    • Screen capture
  • Plan on roughly five users for each type of user in the system. If overlap exists across user types, you can get by with less than five.
  • Keep it simple
  • Make it iterative. Don’t make it a big production. Maybe test one user type on one iteration and another on the next.

Of award-winning intranets, the following are the usability methods employed by those teams:

  • User testing (#1 method)
  • Survey
  • Card sorting
  • User test of prototype or wireframe
  • Heuristic evaluation
  • Field studies
  • Accessibility testing

The Web 2.0 sites/technologies getting covered the most by the media are not necessarily what you should be doing in your projects

  • The ugly truth about user-contributed content: 90% of the users contribute very little, 9% contribute a moderate amount, and only 1% are the hardcore, heavy users
  • Get back to basics
  • Search
  • Task-oriented navigation
  • Learn how to write for the web
  • People scan when they read online. Writers have to adapt to that style.
  • Use HTML pages instead of PDF. PDF versions of online manuals on a corporate intranet could be costing you “hundreds of thousands of dollars” in productivity loss
  • Tiny text with low contrast is really hard for people over 45 years old to read

“Banner blindness” is a strong phenomenon

  • Showed some eye tracking test graphics in which users were not giving a single glance to any of the ads
  • Non-ad content that simply *looks* like an ad gets skipped
  • Environments where a user should know there are no ads (like an intranet) are not immune to this effect

Gartner Portals, Content, and Collaboration Conference: Day 1 Notes

Tom Austin’s keynote
This was a good opening keynote, primarily aimed at getting IT leaders to realize that their job isn’t simply to take orders but to be the key enabler of innovation in the business.

Gartner research shows that most IT shops stop at “operations & hygiene” and “improving productivity & lowering costs”. What they should be focusing on is “improving performance of non-routine tasks” and “helping the organization innovate”. The personal tools and social services the IT organization puts in place and supports will be key enablers of those goals.

Workplace architecture

In a study of around 2000 companies, Gartner found that there are “Two faces of the workplace”. Roughly half of the respondents are in an organization of “Leaders”. The other half are organizations of “Directors”. Director organizations are those in which IT is essentially an order-taker. They see their job really as being the low-cost technology provider for the business and not much more. Leader organizations are much more entrepreneurial. The IT orgs in Leader companies see themselves as key enablers to innovation. The type of organization you are in can be a predictor of the success of the introduction of social tools and technologies. (It can also be a source of stress–if you are more entrepreneurial and you find yourself in a “Director” organization, the odds are that your tenure at that job will be short-lived).

At this point the conversation shifted to some high-level info on key vendors…

IBM

  • Workplace brand is essentially dead
  • Now have 23% of the content management market through its FileNet acquisition
  • Quickr product is their answer to MOSS
  • More “2.0” than Microsoft
  • At the mention of “Notes 8” I immediately felt old

Oracle

  • Web 2.0 and future strategy based on the WebCenter Suite.
  • Stellent, a second-tier player with consistently good functionality, was a good acquisition for Oracle.

Microsoft

  • Sharepoint 2007 is not enterprise-ready
  • Grassroots, viral spread of WSS (the free, low-end version of Sharepoint) is working extremely well

General content management tidbits

  • CM systems live b/w 5 and 10 years
  • Flexibility, openness, interoperability are key because of this longevity
  • Up-front license cost usually less than 20% of the TCO over the life of the system so don’t get so wrapped around the axle about up-front licensing costs

Clash of the Titans: IBM, Microsoft, & Google

Five technologies that are disruptive to the “titans”:

  • SAAS
  • Web 2.0
  • Consumerization
  • Global Class Infrastructure
  • Open Source

IBM:

  • #1 portal
  • Huge IM install base with Sametime
  • All about custom (because it drives services, for which IBM gets over half of its revenue)
  • All about focusing on the biggest of the big customers

Microsoft:

  • Pervasive office suite
  • Meteoric Sharepoint growth
  • All about commodity
  • Take technology to the masses, become the exclusive provider, then increase prices.
  • Web-based applications threaten Microsoft’s core model
  • “Sharepoint is the athlete’s foot of 2007. You leave it alone and it spreads everywhere.”

Say Goodbye to Enterprise Content Management

The term “Enterprise Content Management” is really shifting from an umbrella term describing the different types of content management (document management, WCM, imaging, records management, etc.) to a term that describes a management discipline.

1990 – 2006: Thick clients, closed source, monolithic platforms/repositories
2007 and beyond: Federated repositories, SOA, Web 2.0, SAAS, open source

Gartner sees most companies interested in deploying Basic Content Services (see below) and then building vertical apps on top of a more formal content infrastructure where appropriate.

Basic Content Services (BCS)

  • Good enough is good enough
  • Pays for itself quickly
  • Addresses needs of 65% of the user population
  • Everyone should be rolling this out now
  • Average spend on content management is $475,000 for 250 users

Top business problems addressed by content management:

  • Loan origination
  • Litigation support
  • Claims processing
  • Case management
  • Contract management
  • Correspondence management

Solution Provider Sessions

The “Solution Provider” sessions were extremely weak. These were essentially speaking slots the premium sponsors of the conference paid for. The first one I attended, sponsored by BEA, was ostensibly a deep dive on Facebook. After two slides on Facebook it devolved into a BEA product demo.

The second BEA solution provider session was a customer case study on how an insurance company used BEA’s Aqualogic platform to roll out custom portals for their clients. Unfortunately, there wasn’t a lot of information shared with regard to challenges overcome, what worked well, or anything specific about how the platform was uniquely qualified for the solution.

Challenges of Enterprise 2.0 Adoption, Andrew McAfee

I’ve added McAfee’s blog to my aggregator within the last few months and I’ve enjoyed his posts. I was excited to get to hear him speak. This session was definitely the highlight of the day. Here are some rough notes…

Attributes of Enterprise 2.0 use:

  • Platform technologies: Enterprise 2.0 is about platform–not channel (ie, email)–technologies like blogs and wikis.
  • Social: The solutions are primarily about getting people together (not integrating data or systems)
  • Complementary with existing structures
  • Collective (subject to network effects)
  • Convergent
  • Emergent
  • Open
  • Undirected/autonomous
  • Non-credentialist. No one cares about your title or role. What’s important is what you do/say after you’ve joined the conversation.
  • Dynamic
  • Navigable. (McAfee did a survey of the audience in which he asked how many people thought their intranet was easier to navigate than the public internet. Only one hand shot up).
  • Extensible

McAfee really stressed the point that if you try to put too many controls on these systems (too much structure, roles/entitlements, workflow) you’ll totally screw up the intended purpose and really miss out completely on the business benefit.
Ease of use is a huge problem in adoption of these systems. McAfee referenced a study in which one of his colleagues determined that people typically overweight the incumbent technology’s benefits by 3 and underweight the prospective technology’s benefits by 3. He referred to this as email’s “9x” problem. Basically, any Enterprise 2.0 solution has got to be 10x better than email.

Beyond ease of use, other adoption problems included the concept of personal benefits versus cost and incentives to participate.

McAfee referred folks to cases2.com for case studies on Enterprise 2.0 use.

Alfresco 2.1 Enterprise is available

Looks like Alfresco 2.1 Enterprise is now available. Congrats, Alfresco. I know you’ve been very busy since the Community release of 2.1 a couple of months ago getting the Enterprise release ready.

We’ve been implementing an Alfresco WCM solution for a client on the west coast this summer based on the 2.1 code. We’ve been pleased with the new release and with Alfresco’s responsiveness to Jira issues we created as we uncovered the inevitable bugs in the beta builds.

The web content publish date/expiration date functionality and the web script framework (roll your own REST API) are probably the most significant 2.1 features leveraged in the solution.
At some point I’ll probably be able to do a case study or a podcast on what we built. Until then I will say that the solution leverages Alfresco’s document management capabilities, web content management capabilities, and a client-built, custom application loosely-coupled with the repository through REST. The strengths of each of those sub-systems is leveraged to achieve the overall set of business requirements.

This approach of letting individual parts make up the solution rather than trying to implement a monolithic WCM package that is responsible for every aspect of a web site worked very well for this particular client. Alfresco was a good fit specifically because it doesn’t try to handle both the content management and the content presentation. Instead, it focuses on being a solid repository with lots of options for integrating the repository with other systems. It is this separation from the presentation layer that really distinguishes Alfresco from other open source content management systems. The ease with which solutions can be built on top of the repository is what distinguishes it from proprietary content management systems. (That and the licensing model).
While I’m thinking about it, one side note on the web script/REST framework. I’ve seen some analysts and even John Newton mention Alfresco’s new REST-based functionality as “architecture”. I don’t want to diminish the value of the web scripts framework–it is a great way to set up an API for other apps to leverage without the heaviness of a SOAP-based service call. But to call it an “architecture” or to imply that something was fundamentally changed in how Alfresco works is a bit much. I really see it simply as an additional–albeit powerful and flexible–way to work with the repository.
It may seem like hair-splitting but when I saw an analyst (sorry, I’ve misplaced the reference) voice concern over Alfresco “moving to a new architecture” it seemed like maybe Alfresco had over-played it a bit. At the end of the day, the new REST framework is a great tool that you might choose to leverage or you might not. If Alfresco refactors some of its web client to use it, great. If other projects like Liferay decide to build integrations with Alfresco based on the REST framework, that’s a good thing too. But people shouldn’t get the impression that Alfresco has changed anything fundamental about the repository with the addition of this new framework.

Off-topic: It’s always fun until someone gets hurt

I smoked a brisket this weekend for the first time in a long time. It was spectacular. Seriously. A nice thick layer of pink smoke. Tender. Juicy. Not one person used sauce–it didn’t need it. I’ll never know how good that brisket was, though. As you’ll soon read, missing out on that mesquite goodness was my penance for a moment of stupidity played out in a matter of seconds.

Those who know me would say I’m a kid at heart. Having a youthful spirit is a good thing–most of the time. Sometimes, though, we delegate judgement to the kid in us at critical times, when, in hindsight, the wiser adult would have fared better. Yesterday was one of those times.

While the brisket was cooking, I was horsing around with the kids, showing off my ability to ride two razor scooters at once (it’s easier than it looks). The kids, having grown tired of my antics, wanted their scooters back. My son got one but my daughter took the head fake. “So long suckas!”, I yelled, and down the driveway I flew. I picked up a good deal of momentum (more than you would think possible on such small wheels) and was completely out of control by the time I got to the street. It was my face that broke the fall. And, judging by the impressive strawberries, both knees and a palm. The force of the impact during what bystanders would later call “a belly bounce” removed the buttons from my beloved hawaiian shirt. I didn’t notice the blood until I saw the look of panic in Christy’s eyes.

I guess it was somewhere between the cat scan and the sutures when I realized that the beloved brisket, slow cooked to perfection and lovingly tended to for eight hours, wouldn’t see the inside of my mouth that day, nor would any other solid foods. (Luckily there was no fracture in my jaw, although my mouth didn’t close right until just recently).

The faint hint of mesquite that still lingers in and around the house has been a constant reminder that even supposedly smart people can do really stupid things. Next time I’ll have a plan. Maybe ramp it off the curb and land in the grass across the street while spare ribs slow-cook over hickory chunks?