The Bob Bloom Show #38: Socializing With Anahita, Part 2 Of 2

Thursday September 15th, 2011



Rastin Meir is the founder and CEO of Rastin Mehr Design Studio Inc in Vancouver. A Web Application company. Ash Sanieyan is the founder and president of Peerglobe Technology Inc in Vancouver. A genuine Guru in Ruby on Rails, Javascript, Mobile Application Development (especially iPhone), Web Application Frameworks, and Social Web. He has developed 2 social networks prior to the Anahita SocialEngine™ project and he is described by Rastin Mehr as the best **%$#&@ Software Architect and most fun colleague, team-mate, and business partner that he has ever met and worked with.


Bob (Opening): Welcome to episode 38 of The Bob Bloom Show. My name is Bob Bloom from Toronto, Canada. Today is Thursday, September 15h, 2011.

Arash Sanieyan and Rastin Mehr, Core Architects of The Anahita™ Open source Social Networking Software, join me to delve into Anahita. This is part two of our two part discussion.

The website is

Transcripts of this podcast are graciously sponsored by Anahita™.

Bob: We left part one of the discussion talking about Anahita bursting out of its current distro and talking about moving to the Nooku Server when it comes out. I’ve been thinking as we’ve been looking at the discussions that maybe you’re trying to replicate things that they’re going to do on the Nooku Server or that should be part of a separate library and I keep coming back to the widgets because is it part of the framework, is it part of a template? What do you think?

Ash: We’re talking about Widgets?

Ash: That’s just a small UI thing. Let me, we constantly…

Bob: You talk like a true developer. [laughter]

Ash: Well that’s what I am. But I mean we have about 20,000 lines of code and widget I think is about 3 lines of code.

Bob: Is it really?

Ash/Rastin: Yeah. It’s really insignificant in that sense. But a lot of things we do we constantly keep especially in the branch task that we are working on for the next version, I keep up to date with Nooku. A lot of things Nooku does I look at what they’ve done, if they have done something that we can reuse I will just use those. If it’s something that they have and I need to extend it for our own framework I do that. So the direction is usually, I look at the things they have and see if the things that we do either use it directly or extend it or taking expressiosn from it and do it in our own context. Of course if Nooku folks if ever they want to look at Anahita and take some of the things on their own they’re more than welcome to – we’re here to help. But at this moment that’s how we work. So when we look at and that’s regardless of Nooku Server, I mean we still do the Nooku Framework.

Rastin: There is nothing that, we’re not duplicating anything that is Nooku Server. We basically, Anahita provides what No0ku doesn’t…

Ash: … for ourselves…

Rastin: …which is sort of because Nooku Server is supposed to be a generic web platform and they’ve done a great job by the way, it’s less than half the size of Joomla, and Anahita is going to be specifically for building social networking technologies so things that you need do not exist in Nooku Framework and so we had to build those ourselves.

Bob: I mentioned in our first segment that I was shocked at how sparse your components are, or your apps are, compared to the framework. I was actually worried, are you putting too much component-y things into the framework?

Ash: We’re not. We put reusable patterns into our framework and that’s what the framework is. It’s basically, the idea is that you look at how you build things and you take the parts that are reusable and you put them as a framework or library and you ship them.

I can tell you something, when somebody goes and looks at Anahita they see different apps: they see Photo App, they see Discussion App, they see a To-Do app. But really we only have three types of apps. We have apps that are like groups and people or events, we call them ACTOR type apps which is sort of like acts as a container of people. We have apps that act as MEDIUM apps like to do Photo Discussion, they are very similar in nature.

Rastin: They are content creation.

Ash: They are content creation and publishing app.

Ash: We have apps that don’t follow the first two steps, the first two categories and those are like Connect, Invite or other things that don’t necessarily have the same structure.

Rastin: They integrate with external services.

Ash: No they are just not following the same, they’re just different, they’re just regular apps. They don’t follow any, either they’re not a container app or publishing app they just do other things. So, the first two categories, a lot of part of them are reusable. We take those parts and put them in the framework. Why? Because that way we can generate different apps, create different apps for different context but the core foundation of the apps are similar within themselves.

Ash/Rastin: That is the whole concept to DRY – Do Not Repeat Yourself – our code is very DRY. You don’t want extra moisture.

Bob: It’s DRY and SasSy {sometimes, programming puns are not really that funny when you proof the transcription afterwards – Bob}.

Ash/Rastin: Yes. [laughter]

Bob: and if you have specific type of content that I guess would need tables on the database, that would be something you would do an app for.

Rastin: I think we missed that last sentence. Could you repeat that again please?

Bob: The content creation apps, they have extra database tables and so you, I guess my question was really trailing off anyways {oops! -Bob}.

I want to get into also your actual community. Because it’s another culture shock for me. When I started 5-6 years ago with the free open source and freelancing on my own, I just got a lot of attitude that you know, this is free software, I develop it I give it to you, I really don’t have to, I don’t have to really answer your questions or I could adopt a certain attitude about it and I’ve talked a lot to David and Nicholas about this and about support. Belonging to your site, I think I can be a little irritable or suggest things and you never say to me, you know, the framework is free just figure it out or something like that. I want to commend you for building the community, the human part of it.

Rastin: I think in our business, or in our sort of project, community involvement is as important as software development…

Ash: … more important [laughter] and I’m the technology guy…

Rastin: … Ash is officially the Chief Technology Officer…

Ash: Yeah, but I’m actually saying the human aspect of it is more important than technology.

Rastin: You build software and community side by side and you sort of build the software, give it to the community, they use it or development on it and you sort of observe and get a response back and you build again and this cycle continues. Which is one reason that social web and GPL go hand in hand.

So, for us it was critical to get the community right and Anahitopolis is a very sort of young community. But we sort of followed very simple principals, the most important one was focus on those who care and filter out those who are not as much interested and so that helped a lot and yes that goes against the traditional marketing or business that they basically say, go and recruit as many people as you can to use your product.

That sort of approach that says, okay there are three types of people out there:

  1. one who are absolutely interested in your product or the project you are building [which]are ground zero sort of customers or people;
  2. Then there are the first degree people who are sort of interested but they are not ready to commit, but they are sort of leaning forward to their future adopters; and,
  3. the third one is people who are just not interested at all.

So it would be far more efficient if you focused your resources on the “ground zero” and one after that, type of people. At Anahitapolis, if you realize even for the free account that we have, we actually have a form that people have to submit a 30-word short description of what they’re trying to build using Anahita. And, we have people who write in very simple, they don’t have to write anything elaborate, but they say I want to build a community for musicians or I want to try to build a community for students or project management and also we get all kinds of people who say oh I’m not sure I’m just hanging around, I like to see what’s out there and those are not the kind of people you want in the community.

The first several thousand people are very important in a community because you seed your community with people who are actually interested, genuinely interested in your product and they sort of define the future culture of your community.

So the very first people, the “ground zero” people are people who actually pay and come in. That’s a sign of commitment really, when someone is willing to give you money and after that people who usually join in for free and then later a lot of the paid members are coming out of those, so people who are not ready to commit right away, they can come in and just watch us and see how we use Anahita to run our daily operation. We never try to go out there and convince people. When people contact us, say tell me is Anahita better than the other product or you know how should I compare and I say I really don’t know. You should go and try all of them, if you find what you like, great – if not, then come and use Anahita. Then you have every reason, because every person who joined they have their own unique list of reasons, you have to find yours.

Bob: Yeah, I’m sure that’s not well received universally.

Rastin: Well, I think a lot of people in the business world may disagree with me, the concept of because they say no, get as many people as you can and bundle them with promotions and all kinds of promises, just get them in. The thing is – we are not doing an impulse sale. Every person that joins Anahitapolis…

Ash: … it’s a commitment…

Rastin: it’s a relationship. We are with them in a journey for one year and to sort of build their technology and to help them, to teach them and they sort of become part of a tribe and a family. You can’t do that with the impulse sort of base, search and sell marketing techniques. It’s also far more resourceful that you focus on those who care.

And we have a very sort of appreciative community right now. Like every morning it’s such a joy to interact with people and even when they sort of write things or just get a little irritated we can understand. Learning a new technology is very difficult. So that’s only human.

Bob: And how does your new pricing structure fit with this?

Rastin: Well we had a premium plan for people who join in and they basically were given access to everything on Anahitapolis but then we realized some people needed private consulting. They either have projects they don’t want to share the information publicly or semi-publicly on Anahitapolis or they really require face-to-face interaction for the problems we solve, they want to develop a strategy or they signed a non-disclosure with their client, so we sort of bundled some consulting hours with the basic premium rates and offered those as an option. So we have a gold plan that comes with 2 hours of sort of consulting with one of the core team members and also the other one has 12 hours and for consulting rates we calculated at a discounted rate which brings value for people because a lot of people who join Anahitapolis, they are building their next sort of business model on the web, or they are building a project that is very dear to them and they need advice, how to be resourceful or how to develop a strategy or they want us to review their code.

So a lot of them end up spending way more. We had people from the first tribe or from the previous tribe, they spent up to 100 times more than the basic fee with us and that’s how we funded the project in the last 2 years. I think that’s very consistent with the results that your guests from Akeeba, and they mentioned that most of the donations or even fees are coming from people who are already paying customers.

{That show is “Freemium, or not to Freemium” with David Deutsch and Nicholas Dionysopoulos — scroll down near the bottom -Bob}

Bob: Oh you liked that, that was fascinating.

Rastin: That was very consistent with the same results that we had because we had a lot of people who sign up and then after awhile they get so excited and they want to commit more.

Bob: I hope he doesn’t get angry because I sent an email saying “what do you think about the new pricing structure?”, and a word came out in his email that was interesting. He said “coaching”. And what you described to me didn’t sound so much like consulting but like coaching which is so consistent with how you are on your site.

Rastin: It is, because social networking software is not like a blog that you just install and it works or any other software, it requires community development, it requires user adoption, and also you have to be very resourceful because you have no idea – you cannot predict how your community is going to turn out or use your service or software. You have to start small and get people to use your service and gradually as you observe their behaviour you add more to your service and that way you make sure most of your resources are focused on things that are actually being used. And that is something that people need guidance with sometimes. So, yeah, so that really our new sort of premium plans came out of a pattern that we observed.

Bob: It’s like that technical discipline, the pattern and your business framework.

Rastin: Yes, that’s a very Hackerpreneur thing I suppose.

Bob: I like this idea that everybody’s learning and that’s why on my site I have Learning Centers – I don’t call them forums anymore, because I just don’t like the connotation.

Rastin: I think so too. Our vision is that on Anahitapolis someday we turn into an on-line learning management system for people to come and not only develop their development skills, they also develop their business development skills and community management skills.

Bob: That’s a big ambition.

Rastin: Oh we’re going for big ambitions. [laughter] it’s all about world liberation.

Bob: And it’s funny how you look at Google and what Google does and what you should bring in to Anahita or not bring into Anahita, everybody’s comparing on the Discussion Groups. But I think you’re mostly going your own way, which is better.

Rastin: I think every project should focus on that. It’s okay to get inspirations but you look at your own state of being, you look at your own community, you look at your own needs, and your own evolution path. They say that you were born an original, don’t die a copy. I don’t know who said that but it’s a brilliant quote. We are destined to be on our own evolution path and go there and be very competitive rather than trying to be somebody else.

Bob: Ash I want to thank you for your long explanations about code libraries and other technical stuff. It’s very helpful. [laughter] I usually read that when I know I’m going to read the Nooku Google Group and that’s why I’m always thinking the two together and bothering you two about well Nooku’s doing this , but that was a good one with the code library.

Ash: That’s good, yeah glad to clarify that.

Bob: It’s funny that people are talking about, “no I don’t want to do an app, I don’t want to do a component, I want to do a library”.

Ash: Actually it’s interesting, a lot of people on Anahitatopolis right now are in a way that I actually had to put an example how to create libraries using basically like how we did it. So a lot of people are interested and I guess that’s a good sign, people are really going for, you know, they are really thinking outside of the box, so that’s good.

Bob: I’m thinking there’s going to be all these little frameworks coming out that will be released GPL.

Ash: That is actually, like that would be something we look forward to, that people would actually build their own projects based on our Anahita. So it is also we want it to be used as a end user but at the same time it’s a building block to build other projects, and that’s what we are going for.

Rastin: That’s the framework aspect of Anahita.

Bob: I had a question which I didn’t put on my notes, you have an app called pages – right?

Ash/Rastin: Yes

Bob: and you’re also considering a blog app? What’s the difference?

Ash: The name. [laughter]

Bob: It’s a pattern – it’s the same.

Ash/Rastin: At the beginning actually it is, we started pages because we needed to post documentations and discussion boards are not the best place to post tutorials or documentation. So it came out of a need and we started very simple, it’s basically you sort of put a list of pages within every profile and there are commentable and you keep revisions, and people can colloborate on editing the content. So a blog follows a chronological sort of process, like today’s post, today’s news is old news tomorrow. So there is that real time aspect into it. All of them are media content when you go to the media notes, when you go to the heart of the system, but how you use them sort of defines what they are. Pages are more timeless.

Bob: I’ll tell you, it’s one thing to read the discussions on your site but it’s another thing to be able to talk to you about them, so I really appreciate it.

Rastin: Oh, you’re welcome and yeah, the difference between pages and blogs sometimes I wonder “are they the same?” Because I was thinking about blogs, for example, that let’s say I create a blog and if I allow people to also post blogs in a group and isn’t that the same as discussion board and topics?

Bob: You had this whole thing with forums awhile ago. The same kind of thing.

Rastin: Yes, well forums, that’s true. I think the concept of forums is that people want to sort of attach a traditional discussion board or forum to Anahita and use it, which is fine, it’s just not something we want to do. We think social apps you get instance of social apps running reading profile, that’s how things are done in a social network. A global discussion board is something a lot of people did in the past decades and they can continue to do so but that’s just not the direction we are going. So first there was a lot of discussion.

Bob: Yeah, it’s the same kind of you know it’s not as static with a social network, but a blog is more static and that’s why you have the Pages.

Ash: They’re right now very generic but they will be different. The active use of them, the context of them are different and over time the content created for them will also be different. So, yes, very similar. You think pages in the blogs are similar that you need pages and discussion board and photos they are all similar. But over time their use becomes different and that actually separates the context of them.

Rastin: It’s the context and user experience because apps are just different ways of interacting with nodes, graphs and stories.

Ash: We actually called the apps a playground, that’s actually one of, we sort of were looking for a metaphor for the apps, they are like a playground of how things interact with each other. So depending on the playground people interact or nodes interact a little differently and in a blog little things make a difference that makes it a blog app. But we just have to see.

Rastin: Yeah, I mean I would build a blog as more of an expression tool that I write something today and tomorrow it’s old news and I tag them as I go so it’s more fluid versus when I am creating pages or documentation, it’s timeless. The same document can be useful next year and I organize them in categories ahead of time and I actually build a sort of on-line book or booklets or instruction manual. So all of them are content but the context is different and at the heart of the system those are all media nodes. Like when you go to the very atomic level at Anahita everything is built out of nodes, graphs and stories, like the same reusable elements.

Bob: Which the next time you’re on, that’s what I want to get in to.

Ash/Rastin: Sure.

Bob: That’s something I saw on the database that just had me scratching my head. I thought I’d leave that for next time.

Ash: Sounds good.

Bob: Which is a good segue because we’re out of time. I like to keep it around 25 minutes. My unscientific optimal length. That was a very fast hour.

Ash/Rastin: It was yes.

Rastin: It was fun. The podcasts with you are always fun.

Bob (closing): Thank you very much. And again, the Anahita Framework is available as Free Open Source Software at, click “Download” on the main menu, then click “Anahita” and check it out if you’ve not yet taken a peek.

Rastin, Ash, thank you for taking time to join me today.

And thank you for sponsoring this show’s transcripts.

This is Bob Bloom, signing off, wishing you a profitable week.

You have been listening to a production. Opinions expressed are not necessarily those of SouthLaSalleMEDIA dot com, nor of the organizations represented. Links and materials discussed on air are available in the Show Notes for this show. Information contained herein have been obtained from sources believed to be reliable, but are not guaranteed. Podcasts are released under a creative commons licence. Some rights are reserved. Email correspondence to the attention of Bob Bloom at info at SouthLaSalleMedia dot com.

Monthly commentary and interviews about websites, technology, and consulting. Produced by Bob Bloom, founder and developer of LaSalle Software.

Produced 57 podcasts from 2010 to 2016.

Currently on hiatus.

All Episodes