Wednesday, November 28, 2007

Bookvar on final .NET 3.5 Framework

Great news: We have released a new version of Bookvar - alpheta 2. (alpheta = post alpha before beta version, in maths' terms alpha < alpheta < beta). Here are the improvements:

Final .NET 3.5 integration

This version is built against the final version of the .NET 3.5 framework, no more betas. If you have already installed Bookvar it's preferred first to uninstall it, then to uninstall .NET 3.5 beta 2. After that just run the new setup file. It will install the new framework first, unless you already have it installed.

Multilingual support

We have added localization infrastructure that will allow Bookvar to have multilingual support. Currently we have two languages - English and Bulgarian. They can be toggled from the options window. If you're interested in localizing Bookvar into your language drop us a line from the contact form.

Media (image, movies, attachments) improvements

There are two main improvements in the media aspect of Bookvar:

  • Inserting Image/File to selected topic. Currently if you want to add an image to a particular topic you should click the image button in the ribbon. For example adding a web (live) image to selected topic was impossible, because a new child topic was created with the image. This is now changed and the default behavior is the image to be added to the topic on which you drop it. This also applies for images/files that you drag from the file system directly on the mind map. If you however want to create a subtopic you should press the Ctrl key before dropping the item .
  • Resizing of images or videos is persisted. In the previous version it was very annoying that the resizing of image (or video) added to a topic was not persisted in the file. This lead to a lot of manual work if you want the added image to be smaller for example. All this is now working as expected and the dimensions are stored in the .bmm file.

Other improvements and bug fixes

There are a lot of little improvements and fixes. Here is a list of some of them:

  • Vista dialog boxes added. The new vista based dialog boxes are added when it is required to browse the files system. What is cool about them is that they have the search box in the top right corner.
  • Presentation Exit button. Till now the only way to exit from presentation mode was to press Backspace. We have so used to this that did not noticed that there are no button for the operation. A couple of user's send us feedback about it and now we have a exit button in presentation mode.
  • Multiple subtopics copy problem. When you try to copy a topic with multiple subtopics an error occurred, that is now fixed. By the way the only way to copy topics now is to start drag an existing topic in the same time if you hold down the Ctrl key the topics will not be moved, but copied.
  • Recent files locked problem. If you try to open two Bookvar instances at same time, sometimes you get an error because the file where store your recent files get's locked. This is fixed now.
  • Some inconsistencies in windows' icons and labels.

That's all for this month's release. Go download Bookvar and have fun with it. And don't remember to send us your feedback.

P.S.: We have over 1300 downloads just for one month in the wild. Thanks to all guys that have installed and tried Bookvar. We have some great feedback from people all over the world. This will keep us motivated to continue to innovate in the mind mapping space. So stay tuned, because great things are about to happen.

Tuesday, November 13, 2007

Bookvar shortcuts

There have been a lot of questions about Bookvar shortcuts and documentation. We are planning to setup wiki for documentation. But now I will give you shortcuts we have so far.


Ctrl+NCreate new mindmap
Ctrl+OOpen existing mindmap
Ctrl+SSave mindmap
Ctrl+TabSwitch between mindmaps
Alt+NShow notes

Mind Map

Enter Add new topic
Insert Add new subtopic
Delete Delete topic
F3Focus selected topic and move it to the center of the screen

Presentation - works with presenter devices

PageUpMove to previous topic
NextMove to next topic
BacksapceExit from presentation mode

Friday, November 2, 2007

Bookvar available for free download

Today is a big day for us - guys behind Bookvar. We have released our first publicly available for download version of Bookvar. It is available from it's web site - Note that this version is an alpha quality and requires .NET Framework 3.5 Beta 2.

Bookvar site

As you can see the design of this blog has changed (if you are reading this from feed reader please visit the original url :) to match the design of Bookvar's site. Still the site is not full of information, but this will be fixed in the upcoming months. However we have created some eye candy stuff - Silverlight based features viewer on the home page and also a Silverlight based mind map viewer - check the site map page. You can also participate in Bookvar forums. There you can tell us your opinion about Bookvar and what features you want to see in the future. We are eager to hear from you and shape Bookvar as the next generation tool for mind mapping.

1st of November

You maybe thinking that we've picked up 1st of November as release day for some reason and yes you think right :) First of November is a national holiday here in Bulgaria - Day of the leaders of the Bulgarian National Revival. Educational institutions celebrate this holiday and this is why we pick up this day. Because we believe that Bookvar can improve the way we currently do education in school and university. We are currently in the process of integrating Bookvar into Bulgarian education - both in university and school. Stay tuned for more information about this.

What's next

We highly encourage you to download Bookvar right away. Play with it and send us your feedback and issues. Because this release is an alpha it is highly possible bug submission window to show from time to time :) Don't be afraid to send us these defects. We will hunt them down and fix them.

We plan to release a new version of Bookvar at least once per month. In the next couple of months we will focus on stabilizing what we currently have, but also has the plans for a couple of must have features. We are also listing to your feedback and suggestions.

If you have created interesting mind maps please shared them with us.

Happy mind mapping to all.

P.S.: You can also check the Facebook group about Bookvar.

Tuesday, October 2, 2007

Bookvar at DevReach, .NET Rocks! and Tim Huckaby Wowed

Today we (Bookvar Team - including Dido, Jordan and me, Ivo was unable to come) attended DevReach.


DevReach is an annual conference about Microsoft technologies. Actually it is the biggest event of this kind on Balkans and the region. It attracts one of the most impressive speakers in the .NET community. Just look at the list of sessions and figure it out for yourself. This year's keynote was presented by Tim Huckaby. This guy is doing phenomenal things with his company Interknowlogy. Tim presented for the first time their heart surgery app, as well as their other brilliant WPF based applications. You can check them here. After the keynote Tim gave a session about the way they built their cool apps. When the session ended the Bookvar's moment came. We (Deyan and I) sneak next to Tim and showed him Bookvar. He was showing his great application for about 2 hours and now he was the spectator of WPF goodness. I can explain his reaction with only one word. He was wowed. He immediately wanted to show off the application to other speakers as well and propose to demo the app at WPF panel at the end of the day. And guess what the WPF panel was actually a .NET Rocks! show.

.NET Rocks!

For those of you who did not know what is .NET Rocks! is
an audio podcast about .NET technologies. It is hosted by Carl Franklin and Richard Campbell and is absolute must listen for every .NET developer. So before the actual recording I was able to demonstrate Bookvar in front of about 50 developers & speakers. Perfect audience to show all the cool stuff that we have built. Unfortunately this cannot be recorded on podcast, but here is a picture of the .NET Rocks mind map I have done for the event.

So man when we can actually download Bookvar and explore it?

We are officially announcing that Bookvar will be available for free download on 1st of November here. The version that we will release can be called post Alfa and pre Beta, but we will call it beta 1. It will allow you to start creating mind maps right away and what is most important submit bugs and request so we will be able to improve it on the next release.

So until then keep listing to the great .NET Rocks! podcasts and have fun.

Friday, September 21, 2007

Bookvar meets Facebook. Introducing FaceBookvar ;)

What I really like about our mind mapping tool Bookvar is its high extensibility model. You can not only create your own custom skin, but you can develop custom functionality using our add-in model.

Bookvar add-ins

Bookvar's add-ins model is build on newly created (and not yet released) .NET Framework 3.5 Add-in model. You can read more about it on the MSDN Magazine (1, 2) or on the add-ins team blog. Basically the idea is that the whole add-in lifecycle is managed by the framework and only you have to provide is hook where add-in developers can put their custom, domain specific logic. In our case this is done by deriving from our base view classes (more on add-ins views and adapters here) and marking the class with the AddIn attribute.

 [AddIn("Bookvar Facebook AddIn", Version = "")]

 public class FacebookAddin : EditableBookvarAddinView


   public override Topic Execute(Topic topic)


Building sample add-in - The Idea

Recently I'm spending more and more time on Facebook. You may be familiar that Facebook is not only a social networking site, but it is also a platform. So what that this means? It means that your whole social network that you have build in Facebook can be access programmatically. Did you figure out my idea yet? Yes that's right. I have decided to create an add-in that will visualize your friends in the form of mind map with you at the center.

Time estimate

My initial estimate for the add-in was 2 hours and I hope will finish within maximum of 3 hours. As it always happens in software industry I finished it within 6 hours ;) But if it straight forward what why it took me so long to do this? Let me explain you.


I have previously research about .NET libraries build for Facebook and have found these two - Facebook Developer's Toolkit and Facebook.NET both open source and hosted on CodePlex. The first one is build by Clarity Consulting for the Microsoft Visual Studio Express Team. The second is build by Nikhil Kothari. Knowing that Nikhil is an architect at ASP.NET team I was pretty sure that I will use his stuff. I did look at both libraries source codes and after reading this one I was convinced I will use Facebook.NET (more info about it here).

Sometimes shit happens, sometimes more frequently

So far so good. But then the problems occurred. As one of my colleagues used to say: Sometimes shit happens, sometimes more frequently. First the Facebook.NET library comes with a windows forms control that you can use in your project to log into Facebook (Facebook did not have an authentication API). This is good, but Bookvar is build on WPF and it is not trivial to integrate windows form control in WPF app that is using the new add-in model. So what I first did is extending Nikhil's code with a WPF control that has the same functionality. It worked (Nikhil I can send you the sources), but I decide to try using his windows forms control. I first try to use WindowsFormsHost, but then figure it out it want to the job, because I needed to host user control. Googling around I find this solution that did the job the way I needed. Another problem came out when I tried to play smart and reuse the application ID and secret key of Facebook Developer's toolkit library for interfacing with Facebook. These keys are given to you when you register your application at Facebook. Apparently I receive some problems with logging into the system using Nikhil's control. After some debugging the problem was found and I registered Bookvar as an application in Facebook. Conclusion: Don't try to play smart when you are interacting with third parties. Play by their rules and execute each step in their guides.

Result - demo of the add-in

You can see the final result in this short screencast:

Next steps: source code and custom add-in development

Are you interested in the source code? It will be publicly available when we launch our site and the first public release of Bookvar. If you are eager to look at it you can drop me an email or face

book me :)

Are you interested in creating your own custom add-ins? If you want to try the new .NET add-in model and build the best of breed Bookvar add-ins again you have to wait for our site to become live, where we will have a whole section for dedicated to developers.

While you are waiting for the public beta release of Bookvar my suggestion is to have fun in Facebook and expand your network.

Conclusion - better together

Facebook is a great platform that offers new kind of applications and distribution channel. Stay tuned to see what ideas we have in this space.

Bookvar is a interactive tool that allow you to express your thoughts and data in a way you have never used before.

Monday, September 3, 2007

Channel 9 interview and how much is 2+2*2 ?

At the show case day of the Imagine Cup finals we were able to drag Charles from Channel 9 and present Bookvar in front of his camera. The interview went great and Charles was astonished by the features of the Bookvar - wpf, animations, live search, test creation, collaboration, DLR console, ...

Take a look at the interview:

You can download the video from Channel 8 page here.

P.S. Apparently Charles remembers basic arithmetic rules and gives the right answer to the question in the title of the post? Can you answer without watching the video or asking Google :)

Sunday, September 2, 2007

Wednesday, August 15, 2007

Imagine Cup 2007 Recap

ImagineCup 2007 is over. It was phenomenal event. In a few words I will try to explain my feelings about the event. I will start with my disappointments.

What sucked

As any big event there are some things that are not as they should be (or at least as I think they should be).

  • Schedule. The schedule was very tight. Fortunately we have arrived a couple of days before the event (the flights for Korea are not everyday destination for Europeans smile_regular so we were able to acclimatize with the local culture and food. On our first presentation one of the judges was yawning like a lion. It was obvious that he did not have enough sleep the night before. Also the judges had to listen at 9 presentations in a row without any big break. I'm not sure how productive they were at the last presentation. In the official schedule we had only one day to look around the Seoul. As the mayor of the city said this is not enough time to make a whole trip and we spent most of the time travelling with the bus from one sightseeing to another. Another problem was that sometimes in the agenda was written one name of a hall, but actually the event was in another hall.
  • Food. I was first introduced to the traditional Korean meal "Bibimpap" in the airplane flying to Korea and I like it. But oh man when you see dozen men preparing it with big giant forks in a basketball arena it's not that delicious any more. Another Korean speciality was sea food - this includes not only shrimps, mussels, but sea plants as well. Only one day there were burgers for lunch. Next time guys give us pizza, burgers and stronger coffee. We are developers. This is our main source of energy. Last but not least is the green tea. In Bulgaria we drink this to loosen our self in Korea this is traditional drink. Check what this guy says about it.
  • Competition rooms & booths - Oh man. Competition rooms was awful. Noise, noise, noise. As if we were at a football stadium. On our second presentation one of the judges even came out of the room without saying a word. Eventually he went to the next rooms to say to the people there to be quiet (By the way the same judge was late for the presentation smile_cry). The rooms were small as well. We had more audience than the chairs in the room. Weak organization and testing here. Also the competition booths were not properly situated. They were in the form of fish bone, rather than the usual concentrated circles arrangement. This means that the guys at the end will be hidden by the team in front of them. If the team in front has a big poster or flag of his country it is almost impossible to see the rear teams smile_sad
  • Attitude to the host team (Korean guys). My applaus e to the Korean Team. Great idea. They have developed a glove that helps blind, deaf and mute born people to communicate and educate. But as a host team they had some more privileges. For example when the competitor rooms were shown to them, only they were allowed to enter and listen to the speaker who was presenting the room and the door was shut in front of our noses. Also on their final presentation the girl read out their presentation. And yes these guys did not know English language, so they needed a translation guy for the Q&A session. Isn't this strange. And they got second. Next time it will be better for them to create translation software to help them with the language barrierssmile_regular. Talking about this reminds of my other disappointment.
  • Software Design as pure software - Software Design as a topic sounds great. But actually what is valued more is what hard ware you bring with you. From the 6 finalist 4 of them have some specific devices - Austria - big interactive board with expensive pens; Korea - hi-tech glove, Serbia - full blown car system, Ireland - again gloves (these gloves were not hardware based, but again special equipment). I am pretty happy that the winners Thailand had produce pure software solution. So it seems software design is more like embedded development isn't it smile_regular No one looked at your architecture, no one care did you have extensible UI and plug-in based system, no one cared about your object model, no one cared did you use the best practices to create your masterpiece. But remember if you have decided to go in production with your software these things will be priceless thensmile_wink. But for ImagineCup bring the big giant minority report table with censored enabled gloves and you will be one of the finalists.

What rocks

Of course there were things that rock as well. Here are some of them:

  • Team supporters. Korean guys are extremely kind people. I think everybody like the local. They were very responsive, helpful and the smile was not leaving their faces. Both hands up for the supports. Kimchi
  • Sheraton (especially the bed). The conditions at the hotel

    were perf ect. The bed was one of the most comfortable that I have slept in . Actually we did not sleep a lot, but this is another topic. The Sheraton complex was big enough to handle the Imagin e Cup masses. The guys at the reception were also very kind and fulfil all our wishes (when they understand us what we wanted)
  • Joe Wilson (aka Microsoft's Tom Cruise :) This is the man. Joe is the guy who runs all the MS Academic initiatives. And man this guy rocks da house. If you happen to know him you know what I mean. One example from me: The day that was scheduled for trip around Seoul the agenda said that each participant should go to its own bus where we were listed. Of course some of our team was at one bus and other was at another. And this was not only with our team, but with all teams as well. A chaos has begun to happen when everybody wants to switch its bus. And here from nothing came Joe speaking from the mic. I'm paraphrasing him here but he said something like this: "We need a little bit less organization here. This is what we are going to do. We are going to trust you. You choose in which bus you want to travel at least you travel with the same bus all the time". audience applauded him and everybody smiled. This is Joe Wilson.

So as I conclusion I will end up with what I think (and my whole team also) is the real value of Imagine Cup.

What it is all about

Not being qualified for the second round showed us the real value of the Imagine Cup. We stopped thinking about the presentation and look around us. Guess what we saw. People. Yeah, that's right. We saw people from all over the world, from Brazil to Singapore, from Korea to Sri Lanka. We played StarCraft with Bosnia, we beat everybody on table football :), we played Gong-Gong-Chi-Bang with locals, we played X-box 360, we sign "We will rock you" with French, we played darts, we just have fun. So looking back it is clear for me what Imagine Cup is all about - it's about the people. It's about putting them together and let then enjoy. It's about you, it's about me, it's about anyone. Can you imagine this? If you can't I will see you in Paris :)

Monday, August 6, 2007

Before first presentation

Yesterday was the welcome reception. On the Channel8 site you can see a lot of videos and interviews with teams.

On the party drawed lots about first round groups and order of presentations. We are with group with Malaysia, Norway, Mexico, Portugal, Bosnia and Herzegovina, Czech Republic, Bulgaria, Serbia and Romania. We start at 17:40 Korean time.

We don’t see real rivalry in other teams. We have great presentation :). Wish us good luck.

Saturday, August 4, 2007

Time mismatch!

Due to unconfigured date on my camera the dates on the pictures do not match the dates I explained about. I'll fix that in future.

Korea - First touch to local culture.

Today was the first whole day that we spent in Korea. We went out of the hotel to walk around the shops in Seoul for 3-4 hours and eat some decent food.
We went to a Techno-market in the center of Seoul. We looked around for a little bit and then got to a fast food restaurant to have a bite. Of course we chose the one that offers the most western-like food. Strangely, the locals looked at us like we were some monsters when we offered 2 chicken burgers for each of us (we hadn't eaten decent food for 3 days). Obviously they don't eat that much and we were an attraction for them. After finishing the meal we stared at the site on the terrace next to the restaurant.
After that was the time! You probably imagine what joy is for developers and technical people to wonder around an enormous techno-market (7 floors at least).
Starting from the floors about PCs and going down we wondered for about an hour. It was enormous! Lots of stocks on lots of stands! What stunned us at the beginning was the fact that there were no prices on most of the stocks. After a 10-20 mins we realized that this was due to the fact that for each item there is not a fixed price. It is all about what deal you will arrange with the salesman. Not everywhere, but on some of the stands you can achieve up to 20% discount off the price after a small bargaining. However, for a country so technically advanced we were quite disappointed to see this kind of trade. It reminded us for a trading place in Sofia (back in Bulgaria) called Iliyantsi. However, this place was almost out of the city (not in downtown) and mainly there are small items (cloths, blankets and other small things). Seeing this in the center of Korea was not an expected experience.
Whatever, even that there were no fixed prices, those that were initially offered were lower compared to those in Bulgaria for a few items.
Going back to the hotel we met other teams arriving one day earlier. It will be a tense competition and I'm sure that the judges will have a hard time choosing the winners.
I've uploaded the pictures I took today here.

Have fun and keep your fingers crossed for Brainstorm and Bookvar!

Friday, August 3, 2007

Korea - The starting

Great news!
We are already here. Yes! Here in the Sheraton Grande Walkerhill hotel in Seoul. Being one of the finalists, our team arrived in Seoul 2 days earlier than the announced time.
I'll try to describe as detailed as possible the whole trip.

Starting from Sofia at 14:45 PM we traveled to Frankfurt with Lufthansa. As we had only 1 hour between arrival and departure of plains, we were a bit worried whether we will be able to take the connecting flight to Seoul. For everyone that has ever been to the Frankfurt airport is quite clear how big it is. For the rest, know that it is bigger than you think :).
By plan we had to arrive in Frankfurt and directly from there to start travel again with Lufthansa to Seoul. By mere luck, instead of directly going to the gate with the boarding passes that we had, we went to the cash desk and from there we were offered to switch our tickets with ones for the Korean Airlines and get as compensation additional 400 Euros in flight checks or 300 Euros in cash. As you probably suspect we dumped Lufthansa and took the money :). None of us had ever traveled with Korean Air and we wondered whether it will be as good as Lufthansa. Boarding the Korean Airlines flight KE 906, it appeared that this plain and service is even better than the one of Lufthansa. So we got better service and money out of the blue... :)

If you haven't been to the Inchon Airport - it is even bigger than Frankfurt. Coming from Bulgarian climate, for us weather in Korea was a killer - hot and misty! Cannot breathe properly.... And the air was stinking. Like a whole flock of cows passed in front of the Airport just before we went out. Traveling from Inchon airport to Sheraton Grande Walkerhill hotel took about 80 mins (a lot to travel ah.. :) ) and was as pleasing as possible for all of us (Air Conditioning and comfortable chairs). When we arrived at the hotel, it all shifted to a strange direction - first the receptionist hardly understood what we were saying (even though we consider our English to be pretty decent). Then instead of being placed with me, Stefan was assigned to share room with Mr. Abdullah Someone. Fortunately, after showing the printed reservation confirmation they fixed the mistake and we went to our rooms.

The evening went great (we went experimenting with local food and trained for the finals.
As a whole the trip started adventurous and ended safely and the hotel is great (excluding the language difficulties that we had and probably will continue to have).
I have uploaded pictures from the trip and yesterday here.

For now this... See you later.