Skip navigation

Birth of a New Service

Posted by matt May 30, 2006

The Spark Skinning service has been officially launched. It's an easy way to customize the look and features of the Spark IM client (and have those customizations automatically applied upon new releases). While I hope that you'll check out and use the service, this entry is for those that are interested in the behind the scenes story.


As originally scoped, Spark Skinning was going to be a fairly simple two week project. So, how did it take us two months to launch?

  1. Feature Creep. We're typically pretty good at spec'ing out and scheduling releases at Jive. We develop detailed overviews for each feature in our wiki (so that everybody can edit the documents) and create mockups of how the features will look and function. Since this was "only a two week project", we thought we could get away with a less formal process -- a couple of quick meetings around a whiteboard. You can probably guess the outcome. Because we hadn't made the right investment in planning, the first version we built was missing some basic features. For example, the service didn't have the ability to lock the client to a particular server or to specify connection proxy settings. The color schemes also only applied to the login screen instead of the whole client. Yes, sounds pretty dumb, but that's what happens without planning. Lesson learned: Even "small" projects should go through a proper planning process.

  2. Platform Fun. Spark is a cross-platform client, so the build process has to create installers for Windows, Linux/Unix, and Mac OS X. It turns out that in order to build an OS X installer the way we want to, the installer has to be created on OS X (Windows and Linux/Unix installers are built using pure Java so can happen on any platform). This was our first OS X box in a production environment and we choose to use a Mac Mini (pictured in its rack below). After setting up and deploying, everything was working well except that the service crashed once every two hours. After two weeks of debugging, we finally ran across a blog entry that explained a workaround to the problem.Lesson learned: New and unfamiliar production environments will always account for unseen problems and delays.

  3. Integration. Spark Skinning is the first product we've launched that's purchased online via a credit-card. Getting online purchases setup involved a lot of non-engineering work. We had to set up an account with an online card processing service (Verisign) and then hook that up to our merchant account. Our operations team needed the right transaction information to correlate purchases in our accounting system. We had to setup the server so that we could process the transactions securely. Etc, etc. etc. Lesson learned: Make sure that all stakeholders (from development through operations) are involved in the schedule development.

Of course, we can apply rose-colored glasses to these three problems. Ultimately, the Spark Skinning feature set is richer and more compelling than originally planned, we know a lot more about OSX server hosting, and we've done a lot of work on ecommerce that can be applied to our other products. I guess I'll take the lessons learned and be happy with the result.

The bummer about EIM as an open source product is that it's an application that inevitably has to pass tougher IT Manager and Executive Team muster. And unfortunately our community has only a few of the former, and probably none of the latter. So I have created this email template that you can cut-and-paste to send to your manager to get them on board with EIM -- it's got all the main points around switching to an EIM system from the public networks... with, of course, some nice coverage of Wildfirethrown in as well. All you have to do is fill in the details.

Jive Forums 5.0.3 and Jive KB 1.7.3 were released earlier today. Notable in this release is a new user search feature which you can see in the end-user UI and the admin console. You can also see it in action in our Open Source community website,


Our team kicked some major butt by churning through over 80 issues (new features, bugs major and minor, tweaks, etc). Now it's back to development on newer and exciting things (to be announced soon).

Partner Revealed

Posted by sam_lawrence May 23, 2006

A couple of weeks ago, we gave a clueabout a new partner. Today, the cat's out of the bag. We're excited about the partnership. Further details about how we'll be integrating are forthcoming.


Great humor is grounded in profound truth. That's why Chris Rock's solution to gun control ("make each bullet cost $5,000 because if a bullet cost $5,000 there would be no innocent bystanders") is so funny. This same concept should be applied to online content. Too often people go spraying "content bullets" here and there. To use Mr. Rock's logic, the key to upgrading content in Enterprise online communities and within their real-time communication is to make the content environment more deliberate.


It's how you frame it

Paradigms make a big difference. Blogs, wikis and mass emails are analagous to broadcasting or publishing. People take extra thought and effort to craft that sort of content. Chat and Forums are typically more casual (1:1 or 1:few) gathering places. The first step in up-leveling community and EIM content starts with acknowledging that people expect them to be more relaxed. But that doesn't mean that content quality has to suffer.


1. Make Content Expensive

The more deliberate the "shot" the better the content. IM conversations would be pretty different if you knew your content was either monitored by your company (as EIM should be and emails already are) or that your real-time conversations would become part of a public-facing record. And if forums felt a bit more like publishing environments, members would put more emphasis on their effort. One dating site I know of has no fee until you want to contact someone, that way both the parties put value on the effort. There is literally currency to the content and you can bet it's deliberate.


<span style="font-weight: bold">2. Ask Simon Cowell</span>

You may have seen Dave's blog on predictive markets. Think American Idol. Those music producers have it easy. They know who is going to sell records way ahead of their investment because "America has voted." Well, if peer-to-peer content generation was made available to be voted on, to be valued, then contributors would spend a little more effort on their contribution and the best content would get the most exposure. We see this now in our customer's communities when they move discussions into published documents and then the community votes on the value of that content.


3. Brighten up the place

People create weak, negative content when they're grumpy. And they can get grumpy when it's hard to find content, hard to partipate, when the the UI takes weeks to decypher and the look and feel is painful. A best practice of call centers is to to smile before answering the phone, that way they have more pleasant experiences. So, make people feel good and they'll create good content.

If you're going to JavaOne next week (like a few of us) then you've probably used Schedule Builder. You use it (no surprise) to create a schedule of talks, BOF's, or meetings you want to attend. You have to use it to reserve your space in a session.



The problem is, it's a horrible app and the more I used it the more I started to think of ways to improve it. One thing that stood out (besides improving its lack of usability) is the fact that there's no concept of community in the application.



[Schedule Builder|] Fortunately, there is an alternative. The guys at Javalobby built an excellent schedule builder, complete with community features like group chat (powered by  Wildfire). You can build your schedule using a really slick calendar interface, export your schedule as iCal or HTML, and filter the UI to show only sessions, BOF's, etc. Great work guys!



Beyond this I'd love to see some improvements for next year (either to the JavaLobby version or the official conference one):



  • Share or publish schedules: I'd love to show my colleagues what sessions I'm going to. Further, I'd be great to use group schedules as a gauge of session popularity (think Delicious).

  • Use a message board: It'd be great if there was a discussion for each session.

  • Connect with people: Imagine being able to chat or meet people in advance of the session.

  • Events: This could be a special forum, just for posting events like meet-ups or group runs (see below ).

All of this would inject some more community in to the JavaOne experience. The JavaLobby forums and their new app is a really great start. Of course, I know some software which could help in the above ideas.


As an aside: Is anyone interested in going for a run at JavaOne? 1/4th of the Jive Software Hood-to-Coast team will be in SF and we'd love to head out for a jog. Anyone else interested? If so, leave a comment on this blog entry and I'll get in touch with you.

Scrum Infected

Posted by bill May 9, 2006

No, it's not a disease but rather a style of meeting that we've recently started to use in our engineering team. We started a few releases ago -- it worked so well that we decided to continue even when it's not cruch time.Scrum (a rugby term meaning to huddle) actually refers to a whole management methodology. We're just using one part of it -- the daily stand-up meeting. This isn't groundbreaking and our use of it is by no means unique but the results so far has been pretty dramatic. A brief 15 minute meeting gets everyone on the same page and really helps communication.


Here are a few crucial things to a good scrum style daily meeting:

  1. 15 mins, tops. It's also key that people stand up -- when they're standing there's less incentive to get comfortable and stay for a long time. Being mindful of the clock means you'll be mindful of everyone's time.

  2. Start on time. If someone shows up late, beat them up and steal their lunch money.

  3. Come prepared. Everyone involved should think about what they're going to say so they don't waste time coming up with it during the meeting.

  4. Have the meeting in the afternoon (ours is at 1:30). We originally tried it in the morning but that didn't work out because people get in to the office at different times.

  5. For engineering meetings, make sure to involve your support team. It's their chance to listen in, stay in the loop and (most importantly) they get to ask about bug fixes and relay important customer issues.



Philo Farnsworth is credited as the inventor of the television picture tube. He was a rare genius that (for better or worse) changed our country in a profound way with his invention. However, his later life is a depressing taleas the riches from the invention went to RCA, who capitalized on his expiring patents and aggressively went to market.


Since we have moved here, Portland has been lauded as the mecca of Open Source Software (OSS) in the U.S. With organizations like OSDL (and Linus Torvalds), OSCON, OSU OSL, we are well positioned to live up to that vision. But are we actually doing anything to truly capitalize on it?


I sat across from two Bay Area VC's a few days ago that are investing heavily in OSS companies. They asked about some of the exciting companies coming out of Portland, and I didn't have an answer for them. All the companies doing great things with open source were in the Bay Area.


Certainly the ethos of open source is less about business and more about opening up technology, which is great in and of itself. But the business side of OSS is inevitable -- companies will make money on it and create economic value. And some of us are passionate about the business side of the model too.


I'm sure there are some interesting OSS companies in Portland that are popping up, but none seem to be making the headlines that companies like Jboss, MYSQL and SugarCRM are commanding -- certainly none were top of mind for me. So my question is, how can we get capitalize on this before it's too late? Can Portland be both Farnsworth and RCA?

A release is days away about an exciting new partnership that we have with another company. I just visited their website and they already have our logo uploaded. It's nested right in between some other companies you may have heard of. Not bad company, eh? Below is a picture from our new partner's site. Any guesses on who it is?




Google Summer of Code

Posted by matt May 2, 2006

Google is running another Summer of Code project where students get paid good money to work on Open Source projects. Last year, we had one Summer of Code participant at Hao Chen added TLS support to Wildfire for improved security. Interested in participating? Here's how it works -- the Jabber Software Foundation (JSF) is acting as a project sponsor for all XMPP/Jabber work. A Wiki page is up with at the JSF site with project ideas, or you can come up with your own. Once you've picked a project idea, submit it by May 8th.


Having seen the process in action once already, my own tips for getting your idea accepted:

  • The project should be a significant amount of work, but also reasonable to get done in the alotted time.

  • Work on something interesting, and be capable of justifying why it's interesting as part of your proposal.

  • Pick a project you're passionate about -- it will show in your proposal and also make the actual work much more enjoyable.

Not a student but still have cool ideas for projects not already covered in the Wiki? Post a comment!

Filter Blog

By date: By tag: