<!-- Content Here -->

Where content meets technology

Jul 12, 2006

Open Sourcing Windows?

A reader sent me along this really interesting post on a Microsoft employee blog floating the idea of open sourcing Windows. The comments are insightful with a little bit of zealotism thrown in here and there ("No real Free-Software developers would dare even look at it, in case they got tainted"). The general consensus (if there is one) seems to be that open sourcing older versions Windows would be useful to people still running those operating systems and getting little help from Microsoft or other software vendors who are not excited about supporting outdated versions.

Jul 12, 2006

optaros.com on eZ Publish

As is the case with most internal projects when staff utilization on client work is through the roof, our project to deploy www.optaros.com on eZ publish seemed to go on forever. But, thanks to some really dedicated individuals, we finally got the project over the line and we are live. With our first CMS based release of www.optaros.com[1], the retail view of the site does not change at all except for URL changes (except if you are a German speaker in which case you will be thrilled to know that the whole site is translated into your favorite language)

Being an internal project, a lot of people were involved during short bursts. I think in general, they found the eZ publish syntax easy to pick up given enough examples. Our business users had no trouble learning the user interface. Other features we like include easily configurable content classes (through the UI, you can create custom content classes) which we use heavily. Among the content classes we created were Partner Company, Person, Case Study, Promo, Career, and White Paper. This allows us to surface different pieces of content throughout the site with different views. For example, the same Person class is used to contain the information here as here. Localization and Versioning are excellent. Also eZ publish has a nice way to handle multiple sites including different language translations of the same site or totally different sites. We could have done a domain based mapping (i.e. http://www.optaros.de rather thand http://www.optaros.com/de) but we decided against it for various reasons.

One thing to be aware of when deploying an eZ publish site. Performance. Don't let the "PHP" fool you. eZ publish does a lot of work on the rendering side. If you look at the code, you can kind of guess why. There are lots of includes and text transformations. For example, when you have an HTML text area, it is really stored in XML so there is a view of that field that you have to invoke to render the XML as HTML. From an architectural perspective this is very nice. It means that you could override this view for a different device such as a PDA. However, if you want to host on really really cheap hardware (such as a virtual host with 256MB of RAM), this level of abstraction is costly on limited server resources. eZ publish has lots of tuning parameters. Some of the best documentation is on the eZ publish forum here and here. You definitely need a PHP accelerator such as eAccelerator or APC. You should configure template, view, and, if necessary, static caches. Still, hosting a dynamic ("fried", not "baked" as Tony Byrne would say) on really weak hardware is ambitious no matter what technology you are using.

Overall, eZ publish was a good choice for this site. It might be for your as well but it all depends on your users. eZ publish does not have an in-site editing model. That is, there is a distinct back end for managing content and a front end for viewing content. This made sense to our users. They were able to map pages they saw on the "retail" side with the page tree on the management side. However, I have seen business users who want to edit the content that they see on the fron end right there. Some of the other CMS that do this nicely are: TYPO3, Lenya, Plone, and Joomla.

Notes:

1: I know you are asking yourself, how could a company that Seth Gottlieb works for not have a Web CMS? Here are the answers.

  • Most of the poeple in the company know HTML and source control. Our marketing person could usually find someone to make a text change.

  • We do all the formatting in CSS. This allows us to make a formatting change in one place and have it reflected all over the site.

  • We like to experiment with the design a lot. It is easier for a creative developer that can cut HTML code faster than you can use a word processor to work in static HTML than presentation templates.

But now times are changing. We are around 60 people now and growing rapidly. Our marketing department needs direct control over the website without being dependent on consulting resources. We are publishing our site in multiple languages (French is coming out soon). We get all that from eZ publish.

Jul 10, 2006

Sean Kelly's Better Web Application Development Screencast

Sean Kelly, from NASA's Jet Propulsion Laboratory (no, not Sean Kelly of cycling fame), has a funny screencast comparing web application frameworks. While there is a clear bias toward Python and Zope (the JPL used Plone for the Mars Rover Site), it is good entertainment mixed in with some very valid points. So, if you like Python, or if you like Java and have thick skin, it is worth a look. It reminds me of my days back in college trying (fruitlessly) to make the case for IBM PC DOS over my roommate's Mac 512. Hearing myself say "C Colon Backslash Data Backslash ... Backslash ... Backslash," I knew that every "Backslash" was a another hole in my argument.

Similarly, Java is not as efficient as many of the newer frameworks. Moving most of the code into XML configuration files has not really solved the problem, just moved it. Sean calls all the XML work that you need to do with Java nowadays "XML Situps." I am not a total Java basher. But I do think that Sean raises an excellent point: if you want fast turn around in your development cycle (code, review, fix), which is what is good for web application development, an interpreted scripting language gives you an edge over a compiled language.

Noticeably absent from this comparison is anything from the PHP world. Sean just reviews J2EE, Ruby on Rails, Zope (Plone), Django, and TurboGears. We have a couple of project teams using the Symfony framework and they love it.

Jul 08, 2006

Jul 08, 2006

Google Hires Plone Founder

Alexander Limi, co-founder of project and Plone and the main person behind the Plone user interface, recently announced that he has accepted a job offer at Google where he will join their user interface design team. When I first heard this news, I was concerned about the version 3.0 release which is designated as a UI focused release and which Limi has a central role. I am somewhat comforted in knowing that Limi will actually have more time to work on this effort than he currently does thanks to Google's generous one day a week policy. Google already supports many open source projects through its Summer of Code program

What about Limi's company Plone Solutions? Limi will remain on the board and remain active on projects that Plone Solutions is involved with (most notably LinguaPlone.)

I can see why Google recruited Alexander Limi. Both Limi and the Google design teams appear to share the same design values of simplicity and cleanness. Limi is famous for taking out more code than he puts in to keep the UI from becoming clunky, uncluttered, and non-compliant with accessibility standards (Plone is one of the most accessibility compliant CMS available. So much so that many government organizations use Plone to ensure their compliance). Also, Plone's focus on accessiblity has a side effect of making the generated HTML particularly usable by search engine crawlers.

So, I wish Alexander good luck on the new job and I am sure that the Plone community will keep him honest on his promise to stay involved.

Jun 28, 2006

I Have Moved!

My wife and I just moved the family to the town we grew up in: Northampton, Massachusetts. If you are in the area, let me know and we can get together. I am looking forward to participating in user groups like I did back in Boston with BostonPHP and BostonPlone. I am still working with Optaros so I plan to be in the Boston area for work with some frequency - it's less than 2 hours away.

Jun 27, 2006

Nice Article on Selecting Open Source Software

The latest issue of Enterprise Open Source Journal has a nice article by Edmon Begoli ("Strategies for Success With Open Source Projects") on selecting open source software. Edmon starts by explaining that, like with commercial software, you need to consider your requirements. After that, he suggests some additional steps that apply to examining open source.

  • Understanding our own technology capabilities will help you determine what kind of support you need
  • Understand the organization behind the project. Edmon gives a nice categorization scheme of Institutional (e.g. Apache), Commercially Sponsored (e.g. MySQL), and Independent (such as community supported projects).

  • Understand what is going on with the project. Here is where you take advantage of the openness of open source. Look at the bug lists and mailing lists and examine the architectural vision of the project by reviewing a project roadmap. You can also get a good idea of architectural vision by reading the development list and learning the technical philosophy of the developers).

Another thing I like about the article is the perspective of managing risk. Identify the risk tolerance of your initiative (will lives be lost if there is a bug?) and understand the potential benefits of working with newer and open technologies that you can contribute to. The article also recommends contributing back enhancements.

Jun 26, 2006

Virtual mess

My colleague, Sebastian Wohlrapp, just sent me a link to this video of a new desktop metaphor based on a more realistic desktop of piles of paper rather than the more aspirational model of files and folders. Given that I just moved and my new house is a mountain range of "messy" and "tidy" piles, it was probably the wrong time for me to watch this video :)

It does raise an interesting point. Most desktop environments were designed by very organized people - people who actually file things in folders and put things away. So the desktop is really just a temporary holding area for what you are currently working on. Once you are done with something, you file it. However, maybe most people don't work that way (even though they aspire to). Their physical desktop environment looks like the desk shown at the beginning of the video. "Pile people" have a virtual desktop with over a hundred little icons on it which is even less usable than a messy physical desk.

So, that raises a big question, do we create an interface where a user can recreate his physical world mess in a virtual world, or do we try to give him tools for more formal organization and hope he can adapt? The latter has been de facto approach but it does not work for most people who carry over their habits from the real world: take that pile of paper and throw it in a filing cabinet to deal with later. Or just leave it on the desk until some major purge event.

Like the physical world, the notion of piles would seem to break down under large volumes of content. The beginning of the demo was showing chicklet sized icons which gave no indication of what the document was about. This is not that useful unless you like to constantly sort and examine documents. If you were a pile person, chances are you would bring in an expert archivist when you had thousands of documents to manage. Otherwise, your desk would just be a skyline of tall stacks (I once interned for a lawyer with an office like that and, believe me, that model does not scale). The demo made a lot more sense when dealing with a smaller set of documents like photos that you want to sort through and browse like an album.

The desktop metaphor as a permanent holding area for documents also breaks down when your scope extends beyond an individual user because a desktop is so personal. To get it to work, the objects on the desk should really be pointers to a shared repository. Now this is a great idea: allow users to organize a shared repository in their own way without disrupting the organization of the central repository. This is really what social tagging is all about: organizing references. The stack concept is a surrogate for metadata, it would be useful, if behind the scenes the server tagged content with a taxonomy based on the stacks that users put them in.

Also, interestingly, the demo did not show search. I guess searching in this environment would be a lot like my experience finding things the last couple of days: open a box, look in the box, open another box, look in the box.....

I think that this metaphor works to enhance the functionality of the virtual desktop but it is not a replacement of a file system or repository. My concern is that people would tend to get even lazier than they already are and organize in such a way that only works for them in the very short term. You can only remember what pile holds what documents for a short time before you start to need to go from stack to stack. And that is what my old lawyer boss spent most of his time doing.

Jun 02, 2006

May 31, 2006

Social Bookmarking on Your Intranet

I have been thinking a lot recently about intranets as being an area of huge opportunity for companies. Put another way, most corporate intranets are broken. At the Enterprise Search Summit, several speakers made the point that intranets suffer from neglect - especially compared to external websites which are actively managed by people who know their audience and have a huge incentive to improve the utility and user experience of the website. I strongly agree. When I look at an employee portal and see weather and company stock ticker portlets, I can't help but think that someone bought and installed a portal product and didn't know what to do with it. I have been there. I remember putting in these free portlets as placeholders and then returning years later only to find that they are still there.

So if companies can't bring themselves to invest in an intranet in a formal way, is it possible that a company could build a community that will contribute on a more grassroots level? This post from Toby Ward's Intranet Blog talks about introducing social bookmarking functionality behind the corporate firewall. MITRE is doing a social bookmarking experiment by adapting the open source software Scuttle. No verdict on succeess yet. IBM has done a similar experiment called DogEar and they had some promising initial results. However, it may be too early to tell. In the case of Wikis, another social content tool, I have heard people say things like "it is new so people are still contributing to it." The true test is whether the enthusiasm can be sustained.

The skeptic in me says most companies will not be successful in implementing most grassroots, social technologies within the firewall. One thing that happened when the Internet bubble burst, was that people became very discriminating where they invest their passion and energy. Many people poured their sweat and soul into companies that turned around and laid them off or lost the feeling that the company was an extension of themselves. Business is business. I feel like that is a factor in the growth of open source. Open source is a safe place to dedicate yourself because you can take it with you no matter where you go. There are still companies that create the startup atmosphere but those are more the exception than the rule.

To get people to participate in this way, it needs to be recognized as part of the job or give some immediate personal benefit. People need to want to do it for selfish reasons. So if it is personally more effective to bookmark an intranet page using the bookmarking software than a browser, social bookmarking may have a chance. Of course, that assumes that there is content on the intranet worth bookmarking.

← Previous Next → Page 61 of 75