« Intentional Software about MPS | Main | JetBrainer’s Blogs »

December 22, 2005

Business Plan for Blog

Recently I’ve heard a lot of complaints from my colleagues that I should revive this blog. It looks like a blog becomes more and more essential accessory of a person, and, being very dynamic, even more then personal webpage.

I can imagine that in 5 years you won't ask: “do you have a blog”, but, instead, “where is your blog?”,the same as 10 years ago we used to ask - “do you have email?”, but now just : “what is your email?”
Of course in 5 years blogs won't remain the same as now, but this is another topic and it's worth writing about it in a separate post.

Let's start the business plan of the project "Sergey Dmitriev’s personal blog in English".
What is a strategic goal of it?
This is the simplest part, of course it should be: “To become the most popular blog in the world”

Ok, with the great goal like this in mind I should first find at least some means for reaching it.
After some consideration I see that:
First, the popular blog is the source of interesting information.
- So my blog should become such source for those people who are interested in the projects in which I’m involved directly: JetBrains, IntelliJ IDEA, MPS, Beelaxy. My interests are wider though, as you will see later (just subscribe!)

Second, the popular blog should help people to socialize – it means if people are interested in an article – they discuss it in comments and other blogs.
- My participating in such discussions will make my life more meaningful and my blog more popular. So, no problem here

Third, the reference to popular blog spreads like virus through recommendations in other blogs.
- Of course, I'll ask my colleagues to recommend my blog in their blogs, and I'm going to recommend their blogs in exchange – good start, IMO

Fourth, after reading some of my blog post you should want to subscribe to the blog.
- Oh, that’s easy: I’m sure that after reading this post you will subscribe to blog, don’t you?

Fifth, the most complicated: once subscribed, you won't unsubscribe.
Thus I'll publish some very exciting stuff here quite regularly.

Some popular blogs became a powerful marketing tool.
I know a least 2 bloggers whose blogs are more popular then their companies:
Martin Fowler from Thoughtworks

and Joel Spolsky from FogCreek

So, the first goal is quite easy – I should just make this blog more popular than website www.jetbrains.com. As a result, JetBrains or whatever will succeed just from mentioning it in my blog.
2 small problems stand on the way of making this blog the most popular in the world:
First, I don’t know English well. Second, I don’t have any writing skills. (writing compositions was that I hated at school most of all). Thus, until these problems are solved, you will suffer my awful style and miserable English. But it shouldn’t stop you to subscribe to this blog!

Ok, so, what is the next topic on this blog’s way to glory?
The next topic – is small but very important. I will give you very important presentation of 3 other blogs by JetBrainers… To be continued…

Do you want to comment this post? Don’t hesitate – write any questions or opinions, and I’ll answer…

Posted by Dmitriev at December 22, 2005 10:55 AM


Good start, what about other people from IntelliJ, do they have blogs, if so, can you provide links. Thanks a lot and happy holidays!

Posted by: Alex Givant at December 22, 2005 09:17 PM

Thank you!
Blogs by other people from JetBrains will be in the next post.

Posted by: Sergey Dmitriev at December 22, 2005 10:19 PM

Sergey, you _are_ awesome :)) It's a wonderful start, please do not worry about your writing style. At least our whole family has subscribed ;)

Posted by: sashka at December 22, 2005 11:29 PM

Thank you, Sashka, for you kind words!

Posted by: Sergey Dmitriev at December 23, 2005 09:28 PM

Sergey, you mentioned Beelaxy is it still in development or Del.icio.us, GoogleBase etc is reason of development stop?

Posted by: Dmitry at December 25, 2005 12:50 AM

Hi Sergey --

I'm posting a question that I just posed to Magnus Christerson over at the Intentional web site. I'd be curious as to your take on this:

One of the questions that keeps surfacing in my mind as I read through your blog and also as I read through Martin Fowler's series of articles and his example of creating a domain-specific language with MPS is this:

It is true that in a great number of domains (perhaps every domain) there is a domain language that practitioners and subject matter experts use to characterize what it is that they do. It is not always so clear, however, what it is that end users want from their software. My experience is that many times they don't even know themselves or that at the very least there is an elaborate dance involved in integrating the visions of multiple parties who are often operating themselves at different levels of abstraction and with different and conflicting vocabularies. And in reality the process of domain engineering is only part of what we do when we capture requirements and drive forward to a picture of an intended piece of software. So not only is it a matter of capturing the language and vocabulary that can be used to express intentions, but also of helping business people refine and elaborate the intentions themselves.

Given this, sometimes the picture that y'all are painting strikes me as a bit of a chicken and an egg thing. Is the idea to work with business people first in a domain engineering capacity to come up with the language and editors that will then permit them and us software engineers to explore their requirements? Or does the work on domain-specific languages and the appropriate editors happen in the course of a larger "problem engineering" effort, hand-in-hand, say with a requirements capturing and elaboration toolset. And if this is the case, wouldn't you need the type of product you are describing to be integrated with good requirements capture and refinement tools, along the lines of what is articulated in the UML standard?

A related question is, if what you are doing is capturing the abstract syntax tree of a problem/solution description and projecting various views of it to your product's users, how can you along the way capture the abstractions and refinements that lead you to that problem/solution description? These will almost by definition not be expressed so cleanly in the language of the domain but will include all sorts of confusions and imperfections that ultimately hopefully will help lead to a precise domain language, but certainly cannot be expected to be at that point from the start?

In a response to one of the comments above, you note that "the subject matter experts are usually perfectly capable of expressing their domain knowledge with fine precision as long as it's expressed in ways they are comfortable with, in their comfort zone." Even if that is true for domain knowledge (which I'm not so sure it always is), the question of hammering out the vision of a software solution is a somewhat separate matter.

So in the end, I guess one of my questions is how you see your products and tools integrating with other tools that might be being used to help model a problem domain and a solution space?

Posted by: Michael Clagett at December 31, 2005 08:40 AM