Every tried to make your own sushi? We have done it silvester and it was a wonderful party activities. As you can see, the result looks very good and delicious.
During my first weeks with Day I noticed again the importance of effective communication of IT-Systems architecture and behaviour. Day has various complex tools and frameworks and for new employees or project members it often takes some time to understand the structure and behaviour of the systems and how their part fits into the whole thing. This does not mean that Day has bad documentation, but even with direct contact to core developers it is time consuming to understand complex systems and their environment.
Like every complex system software systems are build by joint efforts of many people who need to collaborate with each other. With people joining and leaving projects continuously it is important to describe the systems in a way that others are able to understand them fast and easily and to know how their part fits in. This requires effective methodologies for describing IT-Systems in order to collaborate effectively.
Because visual notations are often easier to read and understand a series of tools have been developed over the years for modeling - and thus communicating - the structure and behaviour of software systems. Examples are UML, BPMN, FMC or YAWL. Often it is possible to use different tools for modeling the same part of a system. You can model the behaviour of a component by using petri nets or UML state charts for example. The challenge is to select the right tool depending on what you want to communicate and who is your audience.
In the next days I will continue this series with some of my experiences and a set of common tips and tricks for modeling that might help you to model and communicate the structure of your software systems efficiently and thus lowering entry barriers for system understanding.
As you probably have read in the blogs of Alex and Lars, we switched over to Day Software in Basel after closing Mindquarry. Last week I spend my first days at their office in Basel. I was very impressed by the very warm welcome and the spirit of the guys working there. Day has a lot of interesting and very challenging products and technologies and I think it will be a lot of fun working with them.
Our mission at Day is to continue our efforts in the collaboration tools sector. We will try to provide wiki, bloging and calendaring solutions soon. So stay tuned and keep an eye o Day ;-)
BTW, if you are interested in modern web development Day is defenitely the right place to work, because among other Roy Fielding is working for them as chief scietist. Day is still seeking talented people. If you are interested contact me and I will forward your request to the appropriate person.
As written in one of my last posts, I took the time during vacation for thinking about some lessons I have learned while building an open source company. In this post I want to give an overview of the facts I have learned. I start with the strategies you can choose as your way of leveraging open source (BTW there are many others, non-open-source strategies, that can lead to success, depending on your market and product) and discuss the benefits that result from the several strategies. Afterwards I explain what you need to consider if you build your business upon open source software.
Open Source Strategies
The first strategy is to leverage the huge amount of open source software available to be more productive (eg. from ASF). I call this the Use OSS strategy. In this case you use OSS software (OK, the name isn't very fancy) as part of your product to speed up development, which in turn can lead to cost savings and better/faster time to market. In detail this means that the usage of OSS frameworks and tools can help you to concentrate on your costumer needs, products and features instead of the many technical challenges you might face like database connections or application workflow.
In case that you want to be a real OSS company and decide to let others participate in your development, you will gain additional benefits like community support for finding and fixing bugs, feedback about useful functions or usability issues. I call this the Be OSS strategy which includes (under normal circumstances) the Use OSS strategy.
Benefits of OSS Strategies
As already mentioned, there are some benefits of OSS strategies that allow you to outsource some of your efforts. But there are additional benefits that might not be obvious. Hiring the right people for your company can be much easier, because there are so many open source developers that work as freelancers and often there is a good chance that you find somebody who is already familiar with many parts of your code (because you use OSS frameworks he already has worked with). In addition you can review the public available sources of an employment candidate which allows you to evaluate the quality of work he is able to provide.
Another benefit of the Be OSS strategy is the opportunity to introduce your product in a global scale, because the possibility for others to participate in the development can lead to many freelancers and small/medium companies that provide local support for users and customers of your products. You can call this the long tail of open source business (according to the famous book "The Long Tail" written by Chris Anderson). But you should be careful with that, because if you are not able to manage partnerships with such local supporters, this can lead to a loss of customer contacts and even if your startup is not able to support customers all over the world, you should know about them. One possibility to handle this problem is to establish a brand name and to license local partners if they want to provide services for your products.
Pitfalls of OSS Strategies
Besides the pretty sounding benefits, there are also some things that need to be considered for a successful open source strategy.
You should use the benefits of fast development and reuse of existing code and frameworks to concentrate on the most important tasks for your product, which means features, quality and usability. One way to evaluate and define those aspects that has proven to work is user-centered design. You can read about our experiences with UCD in Alex weblog. It is always good to provide fixes and patches for open source projects you use, but don't stuck in development of features that are not related to your product.
For that reason it is very important to do a due diligence for open source projects, before you start using them. Some things that need to be considered are:
- Is the projects license compatible with my products license?
- How big is the community of the project and how active is it (eg. date of last mailing list entry)?
- Does anybody else use the project?
- How often do they release and how old is the last release?
- ... (and other questions that might be important for you)
Another important issue is the management of your open source project. Even if many non-commercial open source projects work on an democratic basis, your project needs management to provide reliability for your customers. Thus you should think about development cycles as well as release and build management. Anyway there are a lot of good open source projects, which processes can be used as a basis for your project.
As you probably have read in our company blog and at Lars' weblog, we are sorry to inform you about the ending of Mindquarry's business operations. In detail this means that Mindquarry will stop provision of any commercial services and activities regarding Mindquarry Collaboration Suite and its hosted version Mindquarry GO. Unfortunately we were not able to ensure the financial backup for these services.
But the need for good open source collaboration products, the vision of Mindquarry and its collaboration suite will survive. We will move the project to Sourceforge (real project location will follow) and the project will be continued there. If you need any further support like customization or extensions, don't hesitate to contact one of the team, because as long as Mindquarry has an active community we will continue our commitment to the vision and product.
I would like to thank everybody who has participated in the vision and progress of Mindquarry!! Without you this vision will never become true!
After 2 years of working every day (even at chrismas), I was on vacation for the last two weeks. Together with my girl I traveled to Croatia, were we spent some nice days in the sun and wonderful evenings in small villages with Caribbean flair. It was my second trip to Croatia (first was 4 years ago) and I was impressed again by the wonderful landscape of the country. Below you can find a selection of photos I have taken. All photos can be found at my flickr account.
OK, ApacheCon was some time ago. I was very busy the last weeks, but I still want to write something about my impressions.
Let's start from the scratch. We started 2nd May from Berlin. Having some security trouble at the airport we reached Amsterdam aproximately 1h later. After checking into our hotel, we went through the Amsterdam harbor and reached the Mövenpick Hotel were the ApacheCon tooks place. After that I had my first face-to-face contact with Apache members when I met the registration board. You can see a picture of those cool guys below. Unfortunately my registration was misplaced and thus it took the whole day to get me in officially.
During the following days I met a lot of very talented programmers and heard many interesting talk. It was very impressive and inspiring to be surrounded by so much intelligence. And Amsterdam is still a nice place to go as well. Summarized, I enjoyed this conference very much and plan to attend next year again.
Yesterday our UCD task force presented the final results of our first design phase. It was very impressive what they achieved in such a short time and with such limited resources. First I was a bit sceptical about the application of UCD in a small open source company like ours, but finally I was convinced by the results.
So, my opinion after this first design iteration is: UCD rocks, if you know how to handle it. You should really read about the experiences of our UCD team in the blog of Alexander Klimetschek. I think everbody can benefit from that experience if it comes to the improvement of user interfaces.
Last friday Lars and I received our master grade in software systems engineering at the public graduation ceremony of the HPI. It was very impressive to see all those young and highly skilled software engineers that will start working now. You may ask: What, those guys didn't finish their studies up to now? Yes, that's true. In the beginning of 2006 we saw that it was the right time to start development of a product like the Mindquarry Collaboration Server. Therefore we decided to start Mindquarry even if our studies were not finished.
During the last months it was very hard to work for Mindquarry full time and write my master thesis at the weekend. But finally all this hard work was rewarded with the promising start of Mindquarry and a very good master grade. Below you can see a picture of me with robe, cap and sash that was made by a professional photographer after the ceremony.
At the graduation ceremony, Prof Scheer former member of the SAP supervisory board and founder of IDS Scheer gave a talk about transfering knowledge from university to the real world. While his presentation was more a kind of story telling about the way of IDS Scheer towards business process management consulting, there was one slide which was really impressive. On this slide Prof. Scheer showed his opinion about the ideal mixture for an entreprenerial team. The main characters you need in your team are:
- Albert Einstein for analytical and visionary thinking,
- James Bond for flexibility and fighting spirit,
- Willi Brand for showing that you are serous and believable, and finally
- Daniel Düsentrieb for getting things done on the technical side.
If you know us, I let it up to you to decide which one of us fits into which category...











