« May 2007 | Main | July 2007 »

June 2007

Jun 25, 2007

Training tip: how to review a layered architecture

I'm in India, giving a training to a class of young developers. The focus is coding under a given proprietary framework and architecture, most of which I designed when working in Amdocs.

I find it in many frameworks and systems: there's a layered approach with components interacting with each other. I found a great way to review the entire architecture and flow.

I handed each of the students a note, with a type of component (or a given generic component like a helper or factory). In turn, they formed a row, each according to his/her order in the process. They explained what they were doing, how and who are they calling next. Of course, if any of them got stuck with the answers I quickly opened it up for the whole class. It's important to keep the interaction flowing.

It was a fun way for reviewing the material. I spiced it with some humor and it was a very pleasant exercise. I'm sure they will remember it. It took about 45 minutes and nobody got tired or bored, although it was all just reviewing the material they knew. Plus, it makes everybody participate, even those who usually don't, and without being too intimidating (like a test).

Jun 22, 2007

How I managed to generate 500 "quality" page views for my blog

I'm still new to blogging. I started my blog about a month ago with a rate of about 2 posts per week. I waited until I had some substance before promoting my blog. The post about Xoreax was my turning point, I felt it was good enough to sell.

My main "marketing" method was writing short posts in relevant forums. I wrote 4 posts about it. It generated over 500 page views in the 3 days to come, and I know that most page views were from people who are industry colleagues. I even got some requests for more information on what I do.

I also tried sending "cold mails" to some fellow bloggers I like reading. Most of them ignored it, so it didn't generate much traffic, but I did get this really nice post in one of my favorite blogs: MyMicroISV.

Bottom line - writing the original post took me time. Generating 500 page views was easy.

Jun 17, 2007

The story of Xoreax and the IncrediBuild

I came across Xoreax when looking for a company who does software development tools in Israel (since this is my playing field). Uri Mishol, the CEO and co-founder, and I met a few years ago, so it was only natural to look him up and meet.

Xoreax is an ISV which builds one truly great product - IncrediBuild. The tool allows distributing the load of the build procedure between several machines in a very transparent and non-intrusive way. It supports VisualStudio and mainly geared towards C++ development. Considering the size of Xoreax, it's a huge success. Recently Xoreax started offering IncrediBuild as a general-purpose framework for accelerating Windows-based processes through their distributed processing engine, and this new offering also appears to be gaining momentum.

  • The beginning: At first, Uri came up with the idea. He then partnered with his friend, a gifted developer and software architect, to lead the product development. This move proved itself. After researching their idea for some time they decided to quit their day jobs and focus on their new product. Uri was doing the business side. His partner developed the initial version by himself.
  • Market research:
    • He did the usual market research.
    • Look through user forums to see if users are complaining about the problem.
    • When you pitch your product - the people who can't grasp your product may help you better understand who's not your target audience.
  • Beta:
    • He recruited about 9 Israeli companies as beta sites. It was not enough, but it did produce great feedback.
    • He suggested around 15 beta sites as the optimal number.
  • Marketing:
    • You can say that IncrediBuild was carving out a new niche, as almost no other tool offered similar functionality.
    • SEO - Uri did it himself by researching the subject and working on his site.
    • Using AdSense.
    • Community sites - Create a list of forums where your potential users hang out. Participate in this forums and use your signature.
    • "feature articles" in famous blogs and on-line magazines sites.
    • Trade shows - it's a good tool for business development, less for actual sales.
  • Creating a viral effect:
    • Discussion groups.
    • Promotions based on "invitations" - encourage the user to invite friends.
    • Coolness factor - give a sleek UI which makes users talk about it.
  • Trial version:
    • It's a must. They give 30 days free.
    • They let the users extend by 15 days in exchange for registration.
  • Support:
    • E-mail only. Available for users who pay maintenance fee.
    • They offer good on-line manuals. No on-site training is offered.
    • It is Uri's opinion that today's solutions like web-casts and on-line training videos are more than adequate for training. ISVs in their initial stage should try to avoid offering on-site training, and instead invest in high-quality documentation, tutorials, support and UI.
  • Sales:
    • Cold calls in the early days.
    • Most of the sales are done on-line - using e-mail, conference calls, web casts, etc.

That's about it. Hope this was educational for you as it was for me. If you have some more questions, feel free to leave a comment and I'll try to get some answers from Uri.

I want to thank Uri for his time and wish him all the best in the future.

Jun 13, 2007

Some information about my startup

It's time to shed some more light on my project. I'm not going to reveal it all, from obvious reasons, but I can give enough information to put this blog in context. In general, I believe in sharing your ideas and oppose NDAs and patents. I read somewhere (I think it was Paul Graham) that: if it's a great idea, somebody already thought of that and if it's a bad idea... just steer clear. So, if you're interested in learning more, contact me in person.

It's a new software development tool. It's not an independent tool, but rather a complementing tool, a plug-in or add-on. Currently I'm targeting the Eclipse after-market, but I have plans to proceed to VisualStudio as well. The main purpose of this tool is to speed up the coding process, especially during system maintenance, and reduce the learning curve of new developers (or contractors). In future releases, the tool will evolve into improving code quality, improving team collaboration and reducing the costs of system tests.

I know that's not much... but, again, just to give some context to my blog.

Jun 12, 2007

Training hack: keeping classroom discipline

A great trick I learned from a former colleague, during a sales person conference. Set it up as a ground rule before you start presenting: if a person is late/falls asleep/cell phone rings/... then that person will have to stand in front of the class and sing.

It works like a charm. The class stays sharp and you get a comic break every now and then.

It popped into my head since the last time I tried it was in India and I'm scheduled to travel to India next week to give another course. The last time I did it, I "rewarded" my students by singing a song in Hindi at the end of the course (it wasn't such a reward... but at least they got a chance to laugh).

Oh... and don't turn this into American Idol... some people love to sing in front of audience... :-)

About nWire

  • nwire logo
    nWire is an Eclipse™ Plug-in which expedites Java development by assisting the developer in navigating through the code and better understanding it.

    Learn more at nwiresoftware.com
My Photo

My Other Accounts

Delicious Digg Facebook Flickr FriendFeed Google Talk Last.fm LinkedIn Reddit Skype StumbleUpon Technorati Yahoo!

AddThis Social Bookmark Button
Blog powered by TypePad
Member since 05/2007