Tagged: framework RSS

  • Rastin Mehr 9:33 pm on July 18, 2012 Permalink
    Tags: , , , framework, , , , , , , topics   

    So what is new in Anahita 2.0 

    Planning the upcoming  #Anahita 2.* releases

     

    Just over a day ago we started distributing the Anahita 2.0 Birth release package as well as 2 additional free social apps: Anahita Groups and Topics. We also have the Anahita 2.0 API documentation available for the hackers and developers out there who would like to learn what goes on inside the Anahita framework. It was 4:30 AM that we announced the availability of the 2.0 Birth release and I promised to do another blog post describing all the new aspects of the Anahita 2.0, so here we go:

     

    Completely Rewritten Framework

    We have taken all the knowledge and experience that we had gained from the Anahita 1.5 release and rewritten a lot of the framework code to be more reusable and efficient. Anahita now provides one of the most comprehensive APIs specialized for developing custom social apps and services. You can take a look at the Anahita API documentation for yourself.

     

    It is faster

    Anahita 2.0 is about 30% faster now due to the improvements that we have done all the way from the low level system calls and database queries up to the user interfaces where pages are loaded and rendered. For those of you who are more technical:

    1. we are using the latest release of Nooku Framework which renders the layouts faster with APC on.
    2. Using technologies such as Twitter Bootstrap and LessCSS, Anahita now has a single compact CSS file which downloads very quickly and pages render quite fast.
    3. Stream paginations on the dashboard and profiles have been optimized to load and pre-load faster which results into a instantaneous and seamless user experience.

    Lighter and leaner social apps

    All the Anahita social apps have been rewritten using the new framework code and now contain on average 48% less code and that is while they perform faster and smoother than before.

    That means the custom social apps that you wil be developing require less code than before.

    Anahita 2.0 apps are on average %48 smaller in comparisons with the 1.5 ones

    How much smaller are the Anahita 2.0 apps in comparison with the 1.5 ones?

    • Anahita Pages: 39%
    • Anahita Todos: 39%
    • Anahita Photos: 37%
    • Anahita Groups: 84%
    • Anahita Topics: 66%
    • Anahita Connect: 22%

    Improved Story Feeds

    The logic in the story feed has been greatly improved in comparison with the 1.5 release also a lot of the data grouping and preparation that used to happen at the application level are now happening at the database query level.

     

    Improved Composers

    Until now, the composers on the dashboards and profiles could only be used for posting stories. In the Anahita 2.0, the composers can be used for posting all types of media such as photos, topics, pages, etc. The Anahita framework also provides a very easy to use API for you to create your own custom composer for the social apps that you are developing.

    Anahita composers

     

    Improved Actor Profiles

    The actor profile layout has been redesigned to be less cluttered and it provides more room for additional applications and modules.

    Anahita Actor Profile
    The Edit Profile user interface has also been completely redesigned so all the profile administration task can be done in one place. Anahita framework provides the necessary APIs for your custom app to include additional tabs into the edit profile area.

     

    Notifications System

    Anahita now has a notification system to alert the viewer about all the new comments, likes, and other events that they should be notified about.

     

    Twitter Bootstrap & LessCSS

    We have used and extended the Twitter Bootstrap 2.0 library with the Anahita set of styling libraries in order to construct and style the user interfaces. Anahita 2.0 also comes with a built-in LessCSS compiler so let’s say if you wanted to customize the Anahita Shiraz template, just switch on the debug mode, modify the Less files or include new ones, then refresh the browser and Anahita will compile a single compact css file that contains all the Boostrap library as well as Anahita libraries.

    Important Note: We are still using the grid system provided by the Gantry Framework rather than using the fluid grid system provided by the Bootstrap. We will soon be discarding the Gantry framework and use the native Anahita template engine which will be using the Bootstrap responsive grid. As soon as we are done, the update will be available for free.

    What’s next?

    The 2.0 Birth release has opened a new chapter for the Anahita project and we have a whole new journey ahead of us. Our main focus for the upcoming 2.* releases will be: Search, content curation, and mobile accessibility.

     
    • James 1:19 pm on July 19, 2012 Permalink

      Super super work guys, looking forward to seeing what is beyond version 2.0 ;)

    • Rastin Mehr 5:56 pm on July 19, 2012 Permalink

      Thank you @James the work has already begun. I am drafting a list of what the vision going to be for the 2.* releases.

    • kostas 4:06 pm on July 21, 2012 Permalink

      well done guys ;-)

    • Claude Gelinas 10:11 am on July 22, 2012 Permalink

      Looks like a nice start, 2.0-wise!

    • Andre 12:43 pm on July 26, 2012 Permalink

      Well done guys. Love it

  • Rastin Mehr 6:16 pm on November 3, 2011 Permalink
    Tags: , , framework   

    Anahita 1.6 Alpha is ready 

    That’s right yesterday we officially welcomed the Alpha girl in the social networking universe and we are now aiming for the Embryo release. Anahita 1.6 is a transitional release which means as soon as the code base is stable it will be the 1.7 Birth release. Anahita 1.6 is not the 1.5 release with more features, in fact we have made changes and improvements at the DNA level where each improvement provide a world of new opportunities to the Anahita developers.

    A summary of the changes are as following:

    1. Entirely rewritten domain libraries: the domain libraries are where all the database communication for the Anahita Nodes-Graphs-Stories architecture happen.  This has resulted into significant speed improvement in the system. For those of you who are new to this project, Anahita is developed using a Domain Driven Design (DDD) approach.

    2. Improved API for developing social apps: using the new API and framework libraries we now require writing less code to develop custom social applications. In fact our existing social apps written for the Anahita 1.6 codebase contain about 36~46% less code in them.

    3. Shared Ownership of Media Nodes: in the Anahita 1.5, a medium node (topic, blog post, page, photo, album, story node, etc. ) can only have one owner who is either a person (Person Actor) or a group of people (Group Actor). Anahita 1.6 provides the option for a medium node to have more than one owners. This can be useful in many context and case scenarios. For example if a person has uploaded a photo or written a blog post, she can submit them to other groups, events, projects. Shared ownership can also be used for developing all types of public and private messaging features where a group of people involved in a conversation will have shared ownership of the original message.

    4. Improved API to handle custom profile fields: we have taken out all the existing opensocial fields from the people profiles (except some of the basics such as name, description, and gender) and then provided a new API which allows social apps and plugins to inject custom profile fields.

    5. Comments are now nodes too: comments are no longer meta information added to a node. This concept has further simplified our design. For example before we had to conduct search on medium nodes (topics, pages, etc. ) and their comments separately because finding a way to merge the search results was a painful task. Now we can conduct search on a single nodes table. Comments can also adopt nodes behaviour for example they can be voted up (Like, +1, Digg), tagged, or be associated with other nodes using graphs.

    6. Voting API: so a node can be voted up or down. That is how features such as +1 or LIKE are developed. The API also provides the option to vote down. We aren’t using the vote down feature ourselves but the option is available for developers who’d like to use it for their own custom social apps.

    Less Code is Better

    Less code means ability to change, pivot, or adapt your business logic to keep up with the changes in the business ecosystem. It means ability to build forward faster than … you know … the other fellow!

    Anahita provides simple that handles complexity. Social Networks are complex and developing social networks using conventional software development methods means spending days writing complex queries and dealing with all kinds of complex relationships that could happen between rows and tables. In Anahita you can save lots of time on writing and debugging queries the old fashion way.

    For example:

    Give me all the photos that I’ve left at least a comment on them within this social network

    repos('site::com.photos.model.photo')->getQuery()->where('comments.author','=', $viwer);

    or give me all my photos that at least one of my leaders have commented on

    $viewer->photos->where('comments.author', 'IN', $viewer->leaders);

    Or you can rewrite the same domain query as following

    $viewer->photos->where(‘comments.author.followers.id’, ‘CONTAINS’, $viewer->id);

    Which automagically constructs the following database query:

    SELECT DISTINCT photo.mimetype , photo.id , photo.component , photo.filename , photo.hits , photo.vote_up_count , photo.vote_down_count , photo.voter_up_ids , photo.voter_down_ids , photo.access , photo.permissions , photo.shared_owner_ids , photo.shared_owner_count , photo.owner_id , photo.owner_type , photo.comment_status , photo.comment_count , photo.last_comment_on , photo.last_comment_by , photo.meta , photo.created_on , photo.modified_on , photo.created_by , photo.modified_by , photo.subscriber_count , photo.subscriber_ids , photo.name , photo.body , photo.alias , photo.type FROM jos_anahita_nodes AS `photo` INNER JOIN jos_anahita_nodes AS comments ON photo.id = comments.parent_id AND comments.type LIKE '|AnSeNode|AnSeComment|%' INNER JOIN jos_anahita_nodes AS author ON comments.created_by = author.id AND author.type LIKE '|AnSeNode|AnSeActor|AnSePerson|%' INNER JOIN jos_anahita_edges AS person_followers ON author.id = person_followers.node_b_id AND person_followers.type LIKE '|AnSeEdge|AnSeGraph|AnSeGraphFollow|%' WHERE (photo.type LIKE '|AnSeNode|AnSeMedium|ComPhotosModelPhoto|%') AND ( ( photo.owner_id = 1 AND photo.owner_type = 'lib.anahita.se.person') AND person_followers.node_a_id IN ( 1 ) )

    We have been busy rewriting all the existing Anahita social apps using the 1.6 codebase and it has been a quite fun process because the new Anahita framework enables us to write way less code and the API is a lot more programmer friendly. The following numbers can give you an idea about number of lines of code which we didn’t have to write for the new release:

    Anahita Libraries (16% less)

    • Total: 20,764 down to 17,440
    • Number of Files: 337 down to 332

    Anahita Pages (42% less)

    • Total: 1090 down to 634
    • Number of Files: 40 down to 31
    • Total (without the views): 405 down to 140
    • Number of Files (without the views): 9 down to 4

    Anahita Todos (46% less)

    • Total: 1910 down to 1033
    • Number of files: 63 down to 53
    • Total (without the views): 738 down to 197
    • Number of Files (without the views): 15 down to 7

    Anahita Photos (36% less)

    • Total: 2006 down to 1277
    • Number of Files: 63 down to 47
    • Total (without the views): 777 to 471
    • Number of Files (without the views): 13 to 10

    Here is a graphical presentation:

    • RED is 1.6 codebase
    • BLUE is 1.5 codebase

    Comparing the size of Anahita 1.5 and 1.6 code size

    Comparing the size of Anahita apps 1.5 and 1.6 code size

    The Path to the Anahita 1.7 Birth Release

    The goal of the Anahita 1.6 release is to rebuild the existing features of the Anahita 1.5 using the new codebase. That means all the existing social apps should also be rewritten for the 1.6 codebase. We have already done that for the Anahita Groups, Discussions, Photos, Pages, and Todos.

    Once the 1.6 code reaches the Embryo release, we will be using it to power Anahitapolis for while to further polish the code and fix all the remaining issues. The stable code will be the Anahita 1.7 Birth release. From that point we will be delivering our new set of features and functionalities in multiple 1.7 Birth releases. To stay consistent with our Build First Brag Later approach we will be telling you more about the 1.7 new features once they are ready.

    Receive more Anahita Love

    If you are tired of using the wrong technology for your social world liberation plan:

    and share this blog post with your other hackerpreneur friends

     
    • Robin Grant 7:01 am on November 7, 2011 Permalink

      Hello Rastin,
      Earlier on, you were talking about having Nooku server in Anahita 1.6. Is this a reality yet?

    • Rastin Mehr 6:22 pm on November 7, 2011 Permalink

      @Robin yes we will be dropping Joomla and use a modified version of NookuServer to build Anahita. It will probably happen in Anahita 1.7 or later. We don’t know when it will happen yet.

  • Rastin Mehr 1:57 pm on September 15, 2011 Permalink
    Tags: framework, ,   

    On the BobBloom Podcast Talking About Anahita 

    On BobBloom's Podcast talking about Anahita

    Yesterday Ash and I were interviewed on the BobBloom podcast from South La Salle Media during a 1 hour show. We had a great time talking about the Anahita open source social networking software, integration with Nooku Server, community management, and operating an open source business model.

    We would like to thank Bob for having us as guests on his wonderful 1 hours show show. You can listen to the Part 1 and Part 2 of the podcast on Bob’s website.

    BobBloom has a wonderful podcast covering all sorts of topics related to open source software and eCommerce projects. You can subscribe to his show on iTunes or your favorite podcast player using the link: BTR: SouthLaSalleMedia.com | Blog Talk Radio

     

     
  • Rastin Mehr 8:17 pm on February 1, 2011 Permalink
    Tags: , framework, , ,   

    Anahita is not a Joomla extension 

     

    Some of our good members specially those who are coming from the Joomla community are under the impression that Anahita is a Joomla extension or an extension developed for Joomla. We even had a couple of people who paid a membership fee expecting to download an installable Joomla extension from Anahitapolis. That is despite that fact that nowhere on our website is presented in that context. Look on this page for instance. In fact you have found any, please let us know and we will remove it. So if we haven’t been clear enough here is another announcement:

    The Anahita™ social networking engine is not a Joomla extension! nor distributed as a Joomla extension.

    What are the building blocks of Anahita™?

    The truth is that 2 years ago, we did build the early releases of Anahita as a Joomla extension. We even released the alpha1 as an installable extension. It was only over time that we have developed a through framework specialized for developing social apps (over 7000 code commits) and Anahita evolved to become a stand alone platform and framework as a social networking solution.

    Today Anahita™ is the collection of 3 powerful frameworks (Anahita, Nooku, and Gantry) that are shipped in a container called Joomla!. In this context Joomla is only used as a web platform and stepping stone for developing the first releases of Anahita technology. In fact 99% of Anahita code is developed using the Anahita and Nooku Frameworks where:

    • Anahita™ Framework: provides the software framework and API specialized for developing Social Apps.
    • Nooku Framework: provides the basic MVC agile software development framework.
    • Gantry Framework: provides a superb themeing framework

    For the Anahita™ we are using a stripped down version of Joomla! 1.5, because the platform aspects of Joomla such as it’s extension management, menu management, and user authentication did the job quite nicely and there was no point for us to rebuild those from scratch. We have also made some upgrades to the Joomla so it can better accommodates Anahita social networking engine and Apps.

    For the later releases we have a keen interest to use the Nooku Server as a much lighter web platform for building Anahita which could provide some really neat features such as multisite-social networks!

    If you think this is odd, consider this: Joomla! itself has been developed using many other open source technologies. Same goes for technologies such as Mac OSX, Aptana, or Ubuntu.

    The fact that Joomla! is used as the web platform, it also provides some other perks too. For example it comes with a basic CMS that is shipped with Joomla. A lot of Joomla extensions can be installed on the Anahita™ as well. That is something that you need to test and find out. We are not married to the concept of making sure that all Joomla extensions should work on with Anahita. They certainly do not suddenly become social applications either!

    A CMS is a CMS

    A social network is 2 generations ahead of a Content Management System. Here is the evolution path:

    1. CMS: few people publish, many people read
    2. Read/Write Web (web2.0): many people publish and many people read.
    3. Social Web: all the aspects of read/write web, except that information is propagated and shared in small bits (stories, status updates, micro posts, tweets!) based on the directions and relationships defined by the social graph.

    Joomla is a great CMS! We love Joomla for that purpose. However our goal for the Anahita project is to build next generation technologies that help people connect and collaborate in highly effective and efficient ways. Our goal is not to build and nurture CMS technologies. That responsibility is left to projects such as Joomla, WordPress, or Drupal.

    We also do not think that attaching social networking to a CMS will work out quite well. It is like trying to attach wings to a car and make it fly. It will be a lot more sensible to help the passengers get out of the car and get on an airplane!

    Having said that Anahita is still a commercial GPL project. Which means you can always check out the Anahita™ libraries and extension from the svn http://svn.anahitapolis.com (only Anahitapolis paid members can do that) and try to install them on your Joomla installation. If you take that approach, that will be your codebase and you will be responsible to maintain it the Joomla way.

    We are going to develop automated tools that will help you easily update the Anahita social networking engine and apps right from your administration panel. Most likely these tools will not be functioning with your Joomla installation.

    So how about people who already have a Joomla! powered website?

    People who are using Joomla have 2 options available. We can invest some time in building Joomla to Anahita migration tools for you. Or you can also start building your social networking project from ground up using the Anahita framework and platform.

    Let’s clear up the miscommunication

    It is stated on our Terms of Services that  that all sales are final and no refunds will be made once you sign up as a member.

    However for all of you who have signed up and paid us only on January 31st and Feb. 1st 2011 under the impression that Anahita was a Joomla extension, we will gladly refund your fees and change your account to basic free account. And please make sure you read the TOS and website content before you sign up for a service to prevent these sort of misunderstandings. To get a refund please contact us with your name and information.

    If you are happy to use Anahita as it is, we will be glad to be working with you for the next 12 months. Let’s build the next generations of social web technologies together and make a difference.

     
    • User 9:22 pm on February 1, 2011 Permalink

      A lot of the confusion probably comes from the RocketTheme discount page that links here. That’s how I got here and was under the impression it was an extension for Joomla.

    • Rastin Mehr 11:36 pm on February 1, 2011 Permalink

      @User

      RocketTheme is now supporting several platforms other than Joomla especially those that utilize the Gantry framework.

      This page: http://demo.rockettheme.com/feb11/extensions/anahita

      Clearly states that “Anahita is not a Joomla component … “

    • Vic Drover 10:02 am on February 2, 2011 Permalink

      As I am sure you know, there is no such thing as having a “no refund policy”. Not only is it bad for business, the payment processors require you to have one. And of course folks can just reverse payments.

      Wouldn’t an easier solution be to but a big notice on the payment page making people aware that anahita is not an extension?

    • Rastin Mehr 3:30 pm on February 2, 2011 Permalink

      @Vic “As I am sure you know, there is no such thing as having a ‘no refund policy’”

      iPhone store, Facebook, and RocketTheme.com have a no refund policy as well. It is up to the vendor to set the terms, it is up to people to decide whether they want to commit or not. A lot of membership plans that you pay for online have a no refund policy.

      On Anahitapolis people aren’t buying software licenses. They buy membership and access to the Anahitapolis resources for a limited time.

      It is bad business if we don’t let people know ahead of time. People have to agree to the Terms of service before making a payment.

      @Vic “Wouldn’t an easier solution be to but a big notice on the payment page making people aware that anahita is not an extension?”

      We’ve only had that issue from some of the Joomla community members. Not all the people who join Anahitapolis are closely familiar with the Joomla. They are here to look for a social networking solution.

    • A 9:17 am on February 3, 2011 Permalink

      I guess you shoud remove the:

      “Powerful CMS Functionality – Anahita™ is using Joomla! CMS as the web platform and therefore provides the full functionality of this immensely popular content management system to your Anahita™ powered social network.”

      on http://www.anahitapolis.com/about/anahita-social-engine

      It could mislead people to think Anahita is a Joomla extension, and think that they can build a site with Anahita and Joomla (1.5, 1.6 and future builds) using all the other many extensions that Joomla already have.

      Anyway, awesome job on Anahita! :)

    • Cosmic Fantasia - Web development 6:51 pm on February 6, 2011 Permalink

      Totally understand your point and direction with Nooku server. But for what seems like not too much effort, why not opem up your customer base and reduce support and increase customer satisfaction, by support Joomla! 1.6 early?

      Love Anahita

    • Rastin Mehr 4:49 pm on February 16, 2011 Permalink

      @A we are indeed using Joomla as the platform in the Anahita so there is no reason to remove that statement. We are just not distributing Anahita as a joomla extension.

    • Rastin Mehr 4:52 pm on February 16, 2011 Permalink

      @Cosmic Fantasia Joomla 1.6 is not a suitable light weight platform for our purpose. Nooku framework is. There is a topic in this regard on the Anahitapolis Atrium and Johan Janssens himself has participated in it too. You will be finding more detailed information there on why we have decided to choose Nooku Framework over J1.6

  • Rastin Mehr 11:00 am on October 27, 2010 Permalink
    Tags: framework   

    Celebrating 5000+ Commits 

    Celebrating 5000+ Commits

    Warning: working long hours till morning doing what you love to do, getting very little sleep, and using iSight to take pictures, may lead to happy puffy faces!

    One of the joys of agile software development is about celebrating small achievements as well as not so small ones.In the past 2 years we have done over 5000 commits to the Anahita repository. That is over 2200 hours of work. We are currently standing at SVN revision 5262 and this weekend we updated Anahitapolis with the pre-alpha3 code. We worked from 6PM last sunday until 9:30 AM Monday morning as well as 2pm to 5pm afterwards the same day. When you are enjoying what you do, you won’t realize how time passes.

    From what it seems, very soon, we will be able to make the Anahita Social Engine ™ alpha3 available to the Anahita tribe of partners and also make the alpha2 release available for the public download.

    We have also been busy upgrading existing Anahita social apps and building new ones. The current Anahita applications are: Groups, Discussions, Photos, Connect (OAuth integration with facebook, twitter, linkedIn, Google), and Invites. The Nodes-Graphs-Story architecture of Anahita is doing wonders and we are so excited to show the world how to use the true architecture of a social network to build social websites and services.

    Those who have been granted access to Anahitapolis can now see some of the new features such as Groups, fine-grain privacy, and many more architectural and usability improvements.

    By the way, did you know that adding privacy to a media node is now as simple as doing this in your view layout?

    <?= @privacy($photo) ?>

    and from that point Anahita will take care of the rest by magic ;)

    We will be posting more updates once the Anahita Social Engine ™ alpha 3 is released, so stay tunned!

    Join the Anahita Tribe  of Partners

    Can’t wait to get started planning your next social web project using Anahita ™ ? You can join our tribe of partners and this is how you can apply.

    Follow Our Updates

    Facebook: facebook.com/anahitasocial

    Twitter: @anahitapolis

     
    • Benno 11:46 am on October 27, 2010 Permalink

      Congratulations!

      I’m really looking forward to your upcoming releases. Your project is so promising!

      By the way, is this your office or are you usually coding at your shopping mall? ;-)

      best regards!

      Benno

    • Rastin Mehr 4:20 pm on October 28, 2010 Permalink

      @Benno – Thank you, the next release is just around the corner. The picture is a cafe inside a large and famous grocery store in Yaletown Vancouver called Urban Fair. We were there to have lunch. We only go to office for meetings and social gatherings other than that we work from any spot that we are more comfortable with (each other’s homes, coffee shops). We all live practically across the street from our Studio

      I believe Automattic (creators of wordpress) have the same type of work environment. The office is only a gathering place, other than that people work from any location that they like.

c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel