The folks at SoftwareCEO(which is a ridiculously valuable site for anyone starting or running a software company) did a nice write-up on Jive. After I posted the Culture Club blog, they decided to focus the article on what we do to build and keep a solid culture. They also interviewed Sam on how he rewrote the book (or maybe just "wrote the book") on Jive's marketing.
Although they misspelled my name in at least one spot (which haunts me no matter where we're written up), it's a great piece. It will probably be on the home page for about a month, and in the archives after that. Check it out.
We've been hard at work on one of the most requested features for Wildfire, HTTP Binding. This feature will allow clients to connect and communicate with Wildfire over HTTP, including AJAX web clients. There are several popular clients out there already utilizing the HTTP binding protocol, such as JWChat. All of these clients will benefit as they'll be able to connect to Wildfire without any extra configuration or external components as were needed before.
One of the things we've focused on in developing this feature is performance. With AJAX growing ever more popular, HTTP performance has become a huge concern for server administrators. Traditionally, HTTP servers are optimized for large numbers of short-lived requests (people clicking from web page to web page). AJAX breaks that model since web connections are held open for long periods of time. This problem directly applies to HTTP Binding since virtually all web IM client implementations use AJAX. To help improve the performance of the HTTP Binding component, we've upgraded our embedded Jetty server to its latest version, 6.0, which includes support for Java NIO ("New I/O") and continuations.
One of the main benefits of NIO is that you can have a small pool of threads handling I/O operations instead of one thread per a socket, which allows much greater scalability for large numbers of client connections. Jetty 6 also includes a continuations feature which further optimizes thread handling in the server. The standard Ajax programming model is to connect to the server and then wait until data is ready (such as a new IM message). Continuations allow the server to free up internal resources while the client is waiting. These two optimizations should allow Wildfire to handle a huge number of HTTP clients (significantly more than any other HTTP Binding implementation). We're just starting performance testing now, so stay tuned for actual numbers. We also added HTTP Binding support to connection managers, which provides furthers performance and scalability options.
Ease of Use
Like any other Wildfire feature we wanted HTTP Binding to be easy to use. The configuration of the feature is automatic -- no patching and no external components are necessary to get it up and running. The server administrator can configure the ports that is runs on and also various other settings such as how often clients can forward requests to Wildfire and how long to wait before Wildfire will consider a session inactive and invalidate it.
The HTTP Binding feature is only one part of the equation, as it just provides the building blocks for XMPP web clients. But we're also working on direct web client support and will have more to announce soon, along with a timeframe for when HTTP Binding will make it into an official Wildfire release.
Just thought I'd round up some of the recent ink-of-note for those interested in what others are saying.
< </strong>< </strong>*
**Intranet Journal Q&A with Jive Software Intranet Journal * *
< <strong>>< </strong>*
< <strong> Open Source Enterprise IM *I * * *
< </strong>< </strong>
***Matt Tucker on Instant Messaging (IM) in the EnterpriseEContent (podcast)* * * *
< <strong>>< </strong>
***[Jive Software: Instant Messaging Beyond AOL, Yahoo or Microsoft |http://www.smallbiztechnology.com/avantgo/2006/10/jive-software-instant-messaging-beySmallbiztechnology * * *
< <strong>>< </strong>
***Java Solution Provider Jive Software's Support Forums Now Available on AppExchange< </strong>Java News Desk * * *
< </strong>< </strong>
***The market is ready***Port * * *
< <strong>>< </strong>
***[Insider Threats Apply to SMBs|http://www.smallbizresource.com/blog.asp?blo***S
****[Instant Messaging in Java Made Easy: The Smack API|http://today.java.net/pub/a/today/2006/10/05/instant-messaging-for-jabber-with-
<stron <strong> * * *
**< <strong> [Messaging Solutions for SMBs|http://www.smallbizresource.com/documen***<strong</li>
***[Jive Software Closes Multi-Year OEM Agreement with SAP|http://www.econtentmag.com/Articles/ArticleReader.aspx?ArticleID=18037&Query=jive<stron[http://www.econtentmag.com/Articles/ArticleReader.aspx?ArticleID=18037&Query=jive]
***[Jive Software CTO, Matt Tucker, Discusses the Future of Corporate IM|http://www.ebizq.net/blogs/firstlook/2006/08/jives_open_source_corporate_im.php*<stro[http://www.ebizq.net/blogs/firstlook/2006/08/jives_open_source_corporate_im.php]
***[Wildfire Sure to Spread in Enterprises|http://www.serverwatch.com/sreviews/article.php/3628301***Serverw
***[Jive Software signs OEM deal with SAP|http://www.echannelline.com/usa/brief.cfm?item=13568**http://www.echannelline.com/usa/brief.cfm?item=13568
***[Reality Check: IM as a unified collaboration platform|http://www.computerworld.com.au/ind<strong<strong>* **<s</li>
***[Wildfire Server and Spark Client for powerful corporate Instant Messaging|http://www.davidrussell.org/2006/07/05/office-im-wildfire-server-and-spark-client/**<s</li>
...in which we learn what's working with the commercial edition and make some changes. See my first post on our Open Source Philosophy for background.
I want to keep sharing how the Wildfireproject is doing from a financial perspective, and what we're doing to tweak the model so you can understand why we make decisions with the product. Unlike a lot of the larger company-sponsored open source projects, we're a bootstrapped company, so profitability is the only path to success. Plus, EIM is a very small market compared to a lot of other OSS applications (BI, CRM, etc.), so careful execution of the business model is critical.
This last quarter was an interesting one for Wildfire, most notably with the launch of Enterprise Edition in July. With the number of downloads of the OSS edition, we had expected to get a fair number of users interested in converting to the commercial edition -- this would be our first real metric in figuring out the symbiotic relationship between the two applications. We didn't expect the phone to be ringing off the hook, but (perhaps naively) expected a 1% rate of download (i.e. 1% of OSS downloaders would check out Enterprise) and a reasonable conversion process (after all, just the support and indemnity alone makes it worthwhile to a lot of companies).
The actual figure, unfortunately, was closer to .0001%. D'oh!
What happened and what have we learned?
Features: Since it was the first launch, the commercial feature set was not unique enough to convince a large number of people to try it out. EIM is an emerging market, and many people seek a basic solution. Just adding additional features like reporting and archiving is important, but it's the big value-add features (like Fastpath) that truly give the Enterprise Edition legs.
Process: The process for learning about and downloading the commercial application has been a bit cumbersome. People didn't always know that it could be easily installed as a plugin, and it was difficult for people to learn about it and why it could be really valuable to them.
Pricing: The pricing is very appealing to mid and large-sized organizations, but our smaller customers have told us it's a bit high for them.
Name: Our community have told us that they expect a product named "Enterprise" to have features that are only valuable to Fortune 1000 companies. But we had designed the product to be just as valuable to small and mid-sized organizations.
What did we do?
Name: We're keeping it as-is for now, but may change it in the near future after some more conversations with customers. Please feel free to share ideas.
Process: We have added a tab called "Enterprise" to the latest version. This makes it easy for people to learn about the features and try it out. We also want to be able to show people the usefulness of features in the context of tasks (coming later). The goal is to make it very clear what value people get by upgrading. Again, feedback is welcome.
Features: This is always improving, but we're working hard to put some great new stuff into Enterprise (and the OSS edition for that matter), but ultimately it needs to transform into a larger value-add business solution to be successful -- not just bells and whistles.
Pricing: We'll be releasing new pricing soon to make it easier for small groups to get up and running.
So, we're constantly trying to tweak the model for growth. It's a difficult process, but the OSS community (ours and other companies doing the same thing) are great at sharing what works. We'll keep you posted. In the meantime, please keep the ideas coming.
Earlier this week, Jetbrains launched version 6.0 of their IntelliJ IDEA Java development tool. One new feature I'm particularly excited about is the ability to chat and collaborate with other developers from inside the IDE. See the IDETalk section of their collaboration feature description -- the feature allows you to see the presence of co-workers, send code-pointers, and view one another's source files. It's all built on XMPP using our Smack library.
I'm happy to announce that we've partnered with Jetbrains to launch a free hosted service that allows IntelliJ users to take advantage of the feature: intellijoin.org. Just choose the "register new Jabber account" option inside IntelliJ and select intellijoin.org as the server (the default). You'll get a new account on the Intellijoin Wildfire server which will allow you to collaborate with anyone on the federated XMPP network (including Gmail contacts). Alternatively, you can install Wildfire for your own organization, which will also work great with IntelliJ.
This IntelliJ IDEA release is a good example of "contextual collaboration" (adding collaboration directly into an application where it makes sense). The IDETalk feature is already pretty useful and I'm excited to see how it will evolve. I expect to see many other business applications adopt contextual real-time collaboration over the next couple of years. I can only hope that others will be as visionary as Jetbrains in using an open standard (XMPP) to make it happen. The advantages to doing so are pretty clear: faster time to market with great tools like Smack and Wildfire, a huge existing install base, and interoperability with other applications that use the open standard.