News
CouchDb and Midgard talking with each other
Henri Bergius 06/07/09 20:54:34
CouchDb is a really cool document-oriented map/reduce database that is nowadays an Apache project. Previously we created the distributed CRM application Ajatus on top of the system and ported CouchDb to Maemo.
Here in Gran Canaria Desktop Summit CouchDb has been somewhat a hot topic, as the Ubuntu project is planning to use it as the content repository for desktop applications.
We had a lunch with Jan Lehnardt today and discussed how to make Midgard2 and CouchDb interoperate better, and as it happens, it is actually very easy: CouchDb has a replication protocol that we can support also in Midgard, making the two repositories able to synchronize content with each other.
There is now a first test implementation of Midgard-to-CouchDb synchronization support, with better Midgard integration and CouchDb-to-Midgard coming soon. Check out the Midgard MVC component on Github. Anyway, already pretty cool!
Setting up replication on CouchDb admin UI:
Midgard record replicated successfully into CouchDb:
I'll talk more about this and repository-oriented application development in my Midgard2: Content repository for desktop and the web talk tomorrow at 16:45. Be there!
Technorati Tags: couchdb, midgard, replication
Come to celebrate the 10th Anniversary of the Midgard Project
Henri Bergius 27/03/09 11:03:18
The Midgard Project has finally released the first public version of Midgard Application Server Suite. The new release contains Midgard core libraries, a PHP3-based web application server for the Apache platform and the needed web-based administration tools.
It's time for celebration - Midgard CMS turns ten in May! The decade of Midgard will be celebrated with a guest gala that is to be held at restaurant Ostrobotnia in Helsinki, Finland.
Looking forward to seeing as many of you in the party as possible! Please register ASAP as we need to tell the restaurant how many tables are needed.
CouchDb: Hosted Applications
Henri Bergius 12/03/09 15:23:02
Free software at work: OpenPsa2 is making a return
Henri Bergius 15/10/08 17:30:34
In the recent OpenMind conference we were discussing how open source projects simply don't die as long as there is an interested user community: Even if the original company or individual who built the application stops working on it, somebody will always rise and start maintaining it.
Last few weeks have been a great example of this. Nemein is the company which originally built the OpenPsa2 suite of project management and CRM tools for consulting companies. In last two years there have been some shifts in strategy, and so we ceased working on the product.
Luckily for our users, OpenPsa has been out under the GNU General Public License since 2004. This meant that while commercial development had stopped, they were able to step in and continue where we left off. It took a while, but during this fall Andreas Flack from Content Control started maintaining the software.
Now the effort is starting to bear fruit. Midgard world has recently settled into a new synchronized release model, and OpenPsa is swiftly catching up with the rest of the architecture. We expect that it may be released with the Ragnaroek 8.09.2 revision.
Good work, Andreas!
ETech 2009 CFP: Building the peer-to-peer business network
Henri Bergius 06/08/08 19:59:04
ETech 2009, the O'Reilly conference on emerging technologies now has a call for papers. Here is my proposal for the "Nomadism & Shedworking" track:
The recent direction of business applications has been centralization to web-based systems, easing deployment, upgrades and management of application security. However, at same time centralization provides new risks like the introduction of a single point of failure for application usage and in most cases inability to work offline.
At the same time, working culture has started so shift more towards networked individuals, or "web workers" forming ad-hoc coalitions to work on various projects. For them, centralized applications might not be desirable due to data ownership and infrastructure requirements.
Moving the applications from centralized web servers to a peer-to-peer network allows web workers to be in control of their own data, stay productive even in unstable connectivity situations, and collaborate easily with their colleagues in an ad-hoc way.
This talk outlines some ways to move forward in building peer-to-peer networked business applications. There are many open source frameworks targeting the problem, including replicated databases like CouchDb and Prophet, and application-oriented P2P networks like Swallow/DBE. These will be discussed together with some real-world examples of business applications built with them:
Ajatus - a "Personal CRM" built on top of CouchDb, a RESTful replicated object database
OpenPsa - project management system doing resourcing over the DBE P2P network
Simple Defects - a P2P bug tracking system built on top of the Prophet replicated database
The first phase of P2P business applications will likely be services operating in closed networks of users' social networking or instant messaging contacts. But the P2P model can also provide opportunities for wider networking, making it possible to find new project partners or collaborators anywhere in the world. This wider-ranging business network will introduce new challenges like security and reputation management. Some ideas related to this will also be discussed.
Other interesting projects in this sphere I did not mention are Telepathy Tubes and F2F. We have also had some ideas for how Midgard could do this...
Scrum in management of a small software consultancy
Henri Bergius 11/06/08 16:00:53
Over the years we at Nemein have been experimenting with various ways of keeping our operations managed. Now with some personnel changes including Joe's departure it was a good time to change the way we work again.
I had some goals:
- Keeping status of different projects up-to-date with more accuracy
- Ensuring our sales and project management knows if some project is being blocked by missing materials
- Enabling a more distributed, web working culture
We're a small company of less than 10 people, and as such most project management methods have not been very successful for us. In general they have been made for situations where same person or team keeps on working on a project for several months, whereas in our situation a person typically works on several projects every day.
I discussed this over some beers with Tero Heikkinen from Rohea, and he told me how they were implementing Scrum in their small company. While their number of different projects running at the same time is a bit smaller, their situation otherwise is quite similar: same technologies used, Ajatus for work tracking, etc.
We had a company sauna evening and I presented Tero's ideas there: we would partially implement the Scrum model, and keep tuning it to our needs. At the first phase this means:
- Every morning we have an all-hands 15-20min meeting ("the daily Scrum") where everybody goes over what they have been doing the previous day, and what they were planning to do today. If they are being blocked by something missing: a software bug, missing information or other materials, this is also brought forward
- Every project has a file in Google Docs where we keep the project status and task list (Backlog). This task list is updated based on what comes up in the morning meeting
- Work hours are reported with Ajatus. Rohea also uses it for project burn-down charts, and once their add-on for that is finished we may do the same
- Emilia, the project manager (or Scrum Master) is responsible for resolving possible impediments and maintaining the per-project status files
The approach we have taken should be quite pragmatic and low-tech. Instead of fancy project management software we use simple word processing for status data. And thanks to Google Docs the documents produced are accessible and editable from anywhere.
Similarly the actual meetings are quite easy to manage. The people who are at the office attend there, and others attend either via a Skype or mobile phone conference call, depending on network availability. We decided to have them at 10am so that everybody will be able to participate. Even if there is a Sprint or meeting scheduled for the same time, the short time needed for our all-hands meeting means it can be held over a "cigarette break".
Ajatus is the only more experimental piece of software in our puzzle. In our company, we use it for hour reporting, expense tracking and keeping meeting minutes. For these it works quite well, although more reporting tools are definitely needed. The alpha status of CouchDb, the database software powering Ajatus has bit us a few times by database corruption (caused by OSX-specific erlang bug) or simply difficult installation procedure, but these problems will hopefully improve over time.
We're now in the second week of this model, and at least the gut feel is that this has improved coordination inside the company. The next challenge then is to let the customer get involved in the process. This can mean just sharing the project status files, or even giving them access to actual meetings or the Ajatus data.
Couchdb Wiki: BreakingChanges
Henri Bergius 05/06/08 13:41:16
Google Video: Ajatus lightning talk in FOSDEM
Henri Bergius 11/03/08 23:15:25



