Dave Johnson on open web technologies, social software and Java
Ten years ago on this day, O'Reilly published an article that I wrote called Building an Open Source J2EE Weblogger, the article that introduced the Roller weblogger (now known as Apache Roller) to the world. It changed my career and my life in a bunch of nice ways and 10 years later I'm still benefiting from my choice to create Roller and write that article. So you can get a taste of the times, here's the intro:
Building an Open Source J2EE Weblogger: As a Java developer, you should be aware of the tremendous wealth of open source development software that is available for your use -- even if you have no desire to release any of your own software as open source. In this article, I will introduce you to some of the most useful open source Java development tools by showing you how I used these tools to develop a complete database-driven Web application called Roller.
Roller fits into the relatively new category of software called webloggers: applications that make it easy for you to maintain a weblog, also known as a blog -- a public diary where you link to recent reading on the Web and comment on items of interest to you.
The Roller Web application allows you to maintain a Web site that consists of a weblog, an organized collection of favorite Web bookmarks, and a collection of favorite news feeds. You can define Web pages to display your weblog, bookmarks, and news feeds. By editing the HTML templates that define these pages, you have almost total control over the layout and appearance of these pages. Most importantly, you can do all of this without leaving the Roller Web application -- no programming is required.
I've written and talked about Roller and the history of Roller numerous times. If you're interested in learning more about it here's my most recent Roller presentation, which covers Roller history in some detail:
These days, Roller isn't really thriving as an open source project. Wordpress became the de facto standard blogging package and then micro-blogging took over the world. There are only a couple of active committers and most recent contributions have come via student contributions. Though IBM, Oracle and other companies still use it heavily, they do not contribute back to the project. If you're interested in contributing to Roller or becoming part of the Apache Software Foundation, then Roller needs YOU!.
This sounds cool. I'd love love to see the slides or better yet, a sceen-cast.
Collaborative estimation and planning is a key concept for all agile development process frameworks. We will present a solution for playing "Planning Poker" that enables distributed development teams to estimate the effort of work items and build consensus in a collaborative way.
The prototype uses Google Wave as a collaboration platform and OSLC (http://www.open-services.net) for seamless integration with the developer IDE and work environment. We will show a demo on how a distributed team can estimate user stories and tasks from a product backlog in a collaborative way, and instantly use the results as the base for further sprint planning.
Additionally, attendees will learn some basic concepts and features about Google Wave, OSLC and IBM Rational Team Concert.
Mainsoft's Team Concert to Lotus Connections integration is getting better and better. I know this because I spent about 12 hours last week offering demos of the product at Innovate 2010. The except below is from a blog post on Jazz.net about the newest preview release. You can try it now. There's a download link at the end of the post and, like Team Concert, it's nice and easy to install and configure.
Build a Community around Your Project
Growing a social network around a software project brings developers up to speed faster. New hires and teams that are added to a core team will find all the information they need in a central Lotus Connections community, including blogs, forums, wikis, file repositories, and bookmarks. These collaboration systems offer a broad teamwork base for any software project. For example, wikis can hold product specifications, blogs can be used to publish roadmaps to a wider audience, forums can be used to gather feedback from beta testers, and a file repository hosts nightly builds with download statistics and commentary features.
Creating a new Lotus Connections community, or linking to an existing one, only takes a couple of clicks. The administrator sets the Lotus Connections community in the Social Network tab under project management.
Once the project community is created, all project members are added to it and as new developers join the project, they automatically become members of the project community.
From my point-of-view, this was the big news from Innovate 2010: integration, linking and process automation across the software lifecycle from requirements, dev, build and test -- based on open interfaces defined by OSLC:
Dave Thomson: Why is this important? The activities involving requirements, development, build and test are not process silos. Integrating these disciplines through process automation, links between artifacts, and reporting across these links improves the productivity of teams while also improving the quality of the deliverables from those teams.
To focus this effort, were bringing Rational Team Concert, Rational Quality Manager, and a new requirements management product tentatively named Rational DOORS Requirements Professional more closely together and calling this set of products the Rational Workbench for Collaborative Lifecycle Management.Whats a workbench? A Workbench is a term we use to describe a combination of products, services, and best practices that are designed to work well together to solve a particular problem.
Crammed into one post...After a month of blog neglect, my automatic Latest Links from my Delicious.com account started to pile up. Back in the glory days of this blog, I blogged about things instead just saving links or tweeting about them. I realized that, by adding some commentary/opinion for each, I could turn a month's worth of links into a month's worth of blog posts and thus gain total absolution for my sin of going a full month without a post. So that's what I did. [Read More]
I've attended every JavaOne since 2004, but this year I've got new job and a new conference to attend. This year I'll be traveling to Orlando, FL and attending the Rational Software Conference also known as #rsc2000 in the twit'o'sphere.
I'm not going to be giving a talk, but I will be manning a demo pedestal and showing some of what I've been working on in my first couple of months at IBM: working on getting Rational Team Concert and other Jazz-based products to work well with Lotus Connections, IBM's social software suite which includes communities, forums, blogs, bookmarking, social networking and wikis (coming soon in Connections 2.5).
Why would you want to use Team Concert with Connections? It's all about connecting developers to community, helping developers use social software tools to inform, share and collaborate with the wider community of people that support, manage, sell and use the software.
The tentative plan that we've outlined for all (registered users) to see on the Jazz.net is all about making it easy to setup and integrate community infrastructure for a new software project.
For example, wouldn't it be nice if, when you setup a new project in Team Concert you'd have the option of setting up an integrated Lotus Connections community complete with a project blog, discussion forum, wiki space and shared bookmarks? Shouldn't those blogs, forums and wikis be searched when you do a project search and shouldn't it be dead-simple to fire-off a blog entry or forum post to start a community conversation about a work-item or any other Team Concert artifact? We think so and we think that's just a start; there's lots more we can do.
If you're going to be at RSC 2009, please stop by and say hi. I'll be on duty from 5-8PM on Monday and most of the day Tuesday. Whether you're there or not, if you've got ideas about developer tool and social software integration, I'd love to hear from you.
If you've been following my tweets you know that I accepted a new job yesterday. What I didn't reveal was my new employer. Before the end of this month I'll be joining IBM/Rational and working as a Web 2.0 Architect. I'm not sure how much I can say about what I'll be working on, so I won't be blogging too much about work until I figure that out. I think I can safely say this: I'm thrilled about this new job and the folks that I'll be working with. In the near term, it looks like my workmates will be @pmuellr and @BillHiggins and I'll be learning a lot about Jazz.
I feel very fortunate to have found such an excellent position a fairly tough job market and I'm more than ready to start working on new things. Thanks to everybody who helped out by recommending me, blogging about me, offering encouragement and taking the time to interview with me.
I have just one item for Roller Strong today: the post below from James Snell of IBM, which lists some pretty impressive stats for IBM's internal blogging system. James doesn't mention it in the post, but I've been told that the site is powered by Apache Roller v3.1.
Growth: Quick note: IBM's internal blogging environment currently has 95k+ entries, 94k+ comments, 41k+ registered users, 11k+ Blogs (about 13% of which are considered active), 20k+ distinct tags, and 6k+ ratings on entries (entry rating has only been around since June of 2007). On average, there are just under 150 new entries posted to about 115 blogs per day. The number of comments per day fluctuate between 80-230 per day. A range of between 200-400 tags are used each day. Update: in the first three days of January, the server access logs show 109,439 unique visitors, 3,265,739 hits, and 61.37 GB of data transferred.
And that's internal boggers only. Just think what they could do with an external blog site. Roller works well outside the firewall too.
ZDNet - IBM forging developerWorks: IBM is quietly transforming its developerWorks site into something more like Sourceforge, with more public-facing features aimed at expanding its reach to all open source developers.
James Governor: Covalent gets its mojo back and refocuses on its core competence - supporting open source code, and doubles down on Apache projects, going back to its roots. The latest example of Covalent seeing an opportunity and nailing it is the companyâs announcement of support for the Roller blog platform. Thatâs now two companies, IBM and Covalent, making direct revenues from a platform originally built by a Sun employee, but for which Sun has no business model. Here is a hint Sun - perhaps its not software you need to sell but service and support. That is what Covalent is nailing.
I appreciate the support from James and the Redmonk crew. They always seem to be rootin' for Roller.
Of course I'd like to see better support for Roller all around, but at this point I can't say much beyond this: I'm focused on building a great blog platform and support is a very important part of any platform.
A couple of small corrections for James. I was not a Sun employee when I originally developed Roller. Second, IBM hasn't shipped Connections, so they're not any making "direct revenues" yet. Third, I don't know if Covalent has "nailed" anything -- I haven't heard from anybody who has tried the service and I'm still trying to figure out exactly what they offer.
Note that we now have two possible replacements for our old Hibernate back-end. We've got a Java Persistence Architecture (JPA) based back-end developed by Sun's Craig Russell and Mitesh Meswani and IBM is getting ready to contribute an iBatis based back-end. How do we choose which one to use in Roller? Consensus seems to be that we'll have a bake-off. We'll compare the programming models, test performance and discuss the pros and cons -- and let the best framework win.
Lots of good news and stuff to blog this past week including the Sun makes a profit story, the Sun-Intel deal and more. I really like reading news like this Amid Profit, Brighter Days for Sun and this Sun turns profit after five quarters in red.
And how could I fail to mention the announcement of Lotus Connections, the product formerly known as Ventura. Connections is IBM's new Web 2.0 social networking suite and it includes Roller. IBM's James Snell posted some background info about IBM's internal use of social networking tools and how that led to Lotus Connections. Elias Torres blogged about it too and included a screen-shot of the new Connections based BlogCentral (IBM's internal blogging site).
And in other news...
My ApacheCon EU talk on 'Roller and Blogs as a Web Development Platform' was accepted. Looks like I'll have a busy May, Amsterdam for ApacheCon and (hopefully) San Francisco for JavaOne all in the space of two weeks.
The ROME project is just about ready for ROME 1.0 and there's a new subproject in the works: ROME Propono. co-worker Ramesh Mandava and I are putting together a Blog Client library (based on code from Blogapps) and an Atom client/server library (based on code from Roller). Hopefully, we'll have it ready by the time that ROME 1.0 comes out.
Hmmm... That link to Cote's People Over Process blog is now a 404. I'll let Cote explain that if he wants to. You can find details similar to those that Cote posted in Luis Suarez's blog post titled IBM Lotus Ventura: IBM's Take of Social Software within the Enterprise. Here's an excerpt:
Lotus Ventura is supposed to be IBMâs adventure (Pun intended ) into the social computing world for the enterprise. Yes, once again, that IBM 2.0 thing. And as you may have been able to read already over at Coteâs weblog post Ventura would be an application that will integrate a number of different social software tools that, as James mentioned, some of us, inside of IBM, have been using for years now!:
1. IBMâs BluePages (a.k.a. IBMâs employee directory): So that expertise location within the enterprise can be easier than ever having access not only to knowledge workers but also to the information behind those same knowledge workers. That is, their information.
2. Dogear: IBMâs social bookmarking application: and which I have talked about over here a few times already.
3. Activities: Of which you would be able to read some more about on the presentation I shared yesterday over here from Mike Roche (Slides 6, 23, 46 and 49) and of which I will talk about some time later on.
4. Communities: Given my role as a community builder and knowledge manager, this is actually one of the components that I will be really looking forward to and that, as time goes by, I will be able to share some further details on it.
5. Roller: Or, as we all know, weblogging; yes, that is right. Ventura will have a component that would connect knowledge workers with the world of weblogs using the Roller weblogging engine, which is basically what we have been using as well inside IBM with Blog Central. I have been keeping my Intranet weblog over there for nearly three years and it would be an incredible experience to be able to see it integrate nicely into Venturaâs other components. Nifty!
6. Integration with other components: Like search or Lotus Sametime 7.5, amongst others. Actually with the inclusion of that integration with Sametime 7.5 we would be getting the best out of both worlds, synchronous and asynchronous collaboration. And all that available from a single point of entry. Can it get better than this ? Hummm. I donât think so.