Mark Purser

  • 899

COO at UNA Inc. Passionate about digital connections since the beginning. Talk to me about your projects and inspiration. 

The Timeline Module is one of the core components of most UNA sites - it t collects all activity on the site in one single place. The Timeline Module curates your feed based on your network and memberships, pulling fresh content from all of the site groups/channel/spaces and all types of content into one place - Timeline Module also allows you to do direct posts via Post to Feed form. It is really important that you understand how it works - take the time to read this post on Github...

Reposted UNA Inc's post.

Choosing the right server configuration and predicting operating costs for running a UNA-powered site may be important for your business strategy planning. This guide may help you choose correct hosting and plan for scale.

Please remember that this is a simplified approximation for the default UNA setup with standard modules only. The real site can have many more modules from 3rd-party developers (which can affect on-site load, space requirements, etc.) or can be focused on resource-intensive tasks that may call for a different estimation (i.e. video conversions, high-storage sites like pro-level photo sharing, etc.)


How to calculate load and choose proper hardware.

The load is very dependant on the number, purpose, functionality and quality of installed modules and the site template. Therefore it is almost impossible to predict it beforehand. But if you have a sample setup of the desired site configuration or pre-production setup on the web server, it is possible to at least predict the memory usage. 

To do it install "Profiler" module, this module shows different timings at the bottom of every page for site administrator (by default). Try to open different pages and watch for memory usage and page execution time.

Try open different pages and measure average "Memory" and "Time" values. Let's assume that it is 20Mb for memory usage and 0.5 seconds execution time. Then, if you have a web server with 4G RAM (for example) the web server is capable to handle:

4G - 1G (for system usage) / 20 Mb ~ 150 simultaneous requests.

Please note, that simultaneous requests aren't a number of online users. Users make requests to the server one time in several seconds or a dozen of seconds.


Static Site

If it is a mostly static site (without much dynamically changing content like the Messenger, Shoutbox, Rocket.Chat, etc) then one request in 30 seconds from one user is likely. In this case, the server is capable of handling the following number of online users:

30 (average seconds per one request from one user) / 0.5 (our average "Time" value) * 150 (simultaneous requests) = 9000 online users


Dynamic Site

If it is a dynamic site (with the messenger, active timeline, notifications, etc.) like most UNA sites,  1 request from one user every second on average is likely. In this case, the server is capable of handling the following number of online users:

1 (average seconds per one request from one user) / 0.5 (our average "Time" value) * 150 (simultaneous requests) = 300 online users

As you can see a dynamic site require 30x more resources than a static site.

This is a very rough calculation which considers only server memory usage, while CPU usage is not counted at all. You may have CPU-intensive usage and low memory load and vice versa. For example, video conversions may cause very high CPU usage.


How to calculate load and choose proper hardware for the database server

DB server is dependant on many factors and can not be precisely planned until the site use patterns are observed in production. Just make sire to follow these guidelines:

  • Tune MySQL settings for your needs, recheck settings as your database grows and the load increases. Try this tool to check and tune your MySQL settings:  http://mysqltuner.pl/
  • Installing more RAM can help a lot. Refer to the first advice to see if you need more RAM.
  • Use InnoDB DB engine instead of MyISAM if you have high load.
  • Store database tables on SSD disks, for the better performance you may need to tune MYSQL especially for SSD disks. (Note, that UNA Cloud servers work on SSD disks only).
  • If the load is too high, you may need a server cluster for your MySQL DB. 


How to calculate database and files storage needs

Storage varies depending on number and types of installed modules. The better method is to start site and when you will have a number of users, calculate average data size in DB and on Disk and multiply this values on some number of users you need going to plan for.

In the following calculations, we are using some sample UNA setup. The site has only 9 users, all standard modules are installed and almost every user has some content (text content, photos, videos and sounds) in different modules.

Let's assume that we need to calculate future storage for 100 000 users.

DB size

  • Current size: 1.5 Mb
  • Number of users: 9
  • Average DB space per user: 1.5 Mb / 9 ~ 0.167 Mb

Approximate DB Storage required for 100 000 users

100 000 * 0.167 Mb = 16700 Mb ~ 16 Gb

Disk storage

  • Current size: 374 Mb
  • Number of users: 9
  • Average DB space per user: 374 Mb / 9 ~ 41Mb

Approximate Disk Storage required for 100 000 users:

100 000 * 41 Mb = 4 T

Note, that UNA supports remote storage, so you can use, say, AWS S3 storage for quick and price-efficient media storage. 


Hosting Server Costs

As a rule of thumb, dedicated servers would be more cost-effective for large sites with a predictable load. You can get a configuration with more RAM, storage and better CPUs compared to a similarly priced Cloud-based server. On the other hand, Cloud-servers can be scaled up more easily and it is possible to start with a smaller instance, scaling up as required - this approach may prove to be more cost-effective for a small to medium community site. 

Another consideration is that SSD-based servers will always cost significantly more than a HDD-based ones, so it is best to use SSD-based servers only for the web-server and the database while leveraging external storage for media files. 

For a rough estimate, let's take a community with a few active modules, messenger, albums and timelines enabled, but no specific focus on video sharing, file storage, etc.


1,000 Members

$100/mo - UNA Cloud4

$50/mo - dedicated server

At this size only a few "online" users are present at any given time, so a basic server like UNA Cloud 4 would be sufficient. On-server storage can be used for the database, and media storage needs would be in the range of 40Gb, so the media can also be stored on site. A dedicated server with similar specifications woudl cost about $60. Note, that UNA Cloud comes with included UNA Pro plan, so this choice may still be preferable.


10,000 Members

$150/mo (UNA Cloud8) + $20 for AWS S3

$100/mo - dedicated server with 2 disk arrays.

At this size only you may expect about 20-30 online users during peak times. Still, on-server storage can be used for the database. While at higher numbers average storage uptake tends to go down, we would still recommend connecting remote storage at this scale - you may need up to 500Gb-1TB, which is likely to be relatively expensive with an on-server SSD. 

A dedicated server with similar specifications would cost about $120 and may include a disk array for media storage.


100,000 Members

$150/mo (UNA Cloud8) + $100 for AWS S3

$150/mo - dedicated server with 2 disk arrays, extra RAM and upgraded CPUs

A community with 100K members may result in 200-300 online users during peak times. Database will take only about 15-20Gb, so it's best store it on-server. Media may take 4-5TB, so it is definitely best to leverage remote storage. 

A dedicated server with similar specifications would cost about $200, as it will require RAM and CPU upgrades as well as multiple disks for media storage and redundancy.


1,000,000 Members

$200/mo (UNA Cloud16) + $500 for AWS S3

$150/mo - dedicated server +  $500 for AWS S3

When you reach a million-members stage, some of the costs "per members" can be reduced significantly. Typically remote storage pricing for higher allocation is lower and you can pre-order fixed-price servers. Usage patterns become more established and it is possible to optimise the site to meet specific requirements for best efficiency. Even with 2000-3000 online users during peak times the site is likely to operate well on UNA Cloud 16 or similar server. The database can still be stored on-server but may need to be separated soon. Media may take up to 50TB, making it difficult to store media on-server even if you're using a dedicated box. 

A dedicated server will have to use remote storage, so while you'd need to further upgrade CPUs and RAM, most of the storage disks can be removed.


10,000,000 Members

$1,600/mo (UNA Cloud128) + $3,000 for AWS S3

$1,600/mo - 2x dedicated servers +  $3,000 for AWS S3

At ten million members stage, you may be seeing up to 20,000 online users. It is very important to optimise database requests, site configuration, turn off unused features and minimise clutter. UNA Team would be happy to assist with this process. 

Cost of dedicated or cloud-based hosting is likely to be very similar at this size, due to the added complexity of the dedicated server setup (you'd likely need to make a 2-3 server cluster).


100,000,000 Members

$9,600/mo (UNA Cloud192 x 3) + $20,000 for AWS S3

$10,000/mo - 2x dedicated servers +  $20,000 for AWS S3

Large sites with 100M users or more would likely have to spend a lot more on administration, organisation and other business costs part from direct hosting fees. Single cloud server or a simple dedicated server cluster is likely to be not enough, so we would recommend engage our team or hire a solutions architect to plan an adequate hardware configuration. Web server, database server and storage would require own separate instances (or clusters) and it may be feasible to build an in-house hosting solution.


1 Billion Members

Congratulations!

Promoted

Over the weekend I just finished watching this insightful exploration into the 'Facebook Dilemma' - It is a fascinating doco put together by PBS Frontline exploring the questions that many of us have asked about Facebook and the misalignment of their ethics.

The doco explores the questions that most of us developing social media have to ask at some time - what is being sold, and to whom do we sell it? What level of transparency do I hold with my users? How important is it to make money? What am I prepared to compromise in my quest for cash?

I think the biggest challenge within Big Tech is that they actually have three sets of customers - First Customers are the people who use their software, Second Customers are the People who advertise, (Second Customers pay to access First Customers). But most important of all are the Third Customers - the Shareholders, and this is where it all seems to go terribly wrong - when the companies bow to a board of directors and the stockmarket, they often turn their back on first and second customers - a public listing seems to launch the quest for endless profit growth, profits before people, history has shown us time and again that there isn't much that they won't do to get there.

Personally I see a huge opportunity for community run social media - if I publish great content, that attracts attention page views = ad revenue = I get paid, not just a token payment, but a fair share of the dividends.

 I know that it's been discussed before, and I think that it is timely for something like this to fly.  Social Media of the people, for the people, by the people - with a clear charter and a run as a not for profit, all profits returned to the users. True Social Democracy on the web.

There are 2 hours screentime here - but it's well worth watching - it digs deep into a lot of the issues, there is a second part - I've linked it in the comments.

Reposted Andrew Boon's post.

Yesterday Alex T⚜️briefly announced the final release of the UNA 9. Indeed, after more than 3 years since of active development and testing; over 3 MILLION code additions in over 4000 commits; 1300 closed issues and 17 😮 pre-release versions, we finally have the stable UNA 9. 

Compared to UNA 8, this version brings hundreds of enhancements, including new modules, system improvements, new integrations, new templates, new objects, new features, etc. etc. Since we decided to make all RCs upgradable the UNA 9 has been tested quite actively by the UNA.IO community and used in production mode for all our clients working with UNA & Boonex team under X-level service plans. It is now considered a stable release, recommended for all sites powered by UNA. 


UNA Community

The v8 was released on 24th of November 2015. At the time, we haven't even launched UNA.IO site and were offering selected Boonex clients to try UNA. Later we launched UNA.IO provide community support and also use UNA ourselves, first hand, making sure that we eat our own cooking. Here's how the community grown during that period:

More importantly, we now have a core group of really dedicated community members, who committed to the platform and help us daily - asking and answering questions; trying new releases and sharing feedback; creating and uploading new apps to UNA Market; giving us hard time and praising us - all of that keeps the team rolling. 

Now, look at the numbers of discussions posted over the same time:

As you may see, we're actually entering the stage of active growth, which should further accelerate after this release. It's a very exciting, but also very challenging time. Increased popularity comes with added support overhead and information inputs. We will have to find ways to automate processes, improve documentation, streamline on-boarding and above all - make UNA even better.  


Start Guide & Demo Video

Over the last few months we committed to improvement of the UNA Documentation and development of the UNA Start Guide and the demo video, describing general aspects of UNA framework:

We highly recommend watching the video and reviewing the Start Guide even if you are familiar with the system. So many times we hear the phrase - "I didn't know I could do that" 😏.


What's Next

Why, UNA 10 of course! Yes, now that we have the 9 released, we are out of the feature-development lockout and can get back to making new awesome toys. Note, that the plan for v10 is to make it a (much) smaller update, adding some features and focusing primarily on streamlining UX (User-eXperience) of all pages. While UNA 9 gives a massive array of features, we should now make everything look and work sleek and clear. We estimate from 3 to 6 months for the 10. 

Along with the new features and modules planned for v10, we plan to finally introduce first working version of JOT as well as native mobile apps (iOS and Android) based on ReactNative for UNA. 

Naturally, service updates like 9.1, 9.2 may be released as required in the meantime, addressing any urgent fixes or security issues. 

Another consideration for us is the commitment to the old Dolphin 7.x updates for Boonex. An update is long overdue and the Boonex community has been suffering without an update for quite a while now. Even though Dolphin will eventually be fully transitioned to UNA-based solution, we still plan to maintain and update the 7.x until we can provide a seamless migration path. So, this will take some time, but we have ideas on how to make both platforms benefit from each other's development. 


Let's give them names!

Look, UNA 8 was pretty much just a "first look" version, while UNA 9 is what you could refer to as the "base". Now, UNA 10 will be about making everything "neat". Then, UNA 11 will be "fast". Then, perhaps "safe", "cool", you name it...

Actually, I mean it - you name it. What do you think would be a good set of names for UNA updates to distinguish between releases? Names of animals from same genus, some fictional characters from books or movies, or perhaps mythical heroes? What do you think would fit?

After 

- 3 years of development

- 17 versions

- 1300 fixed issues 

- 4000 commits

- 22000 changes files

- 3000000 source code additions 

UNA 9.0.0 is ready 

As many have witnessed, the UNA platform has grown exponentially over the last 6 months - rapid development and release of new features has kept us all scrambling to keep up with the action and potential of UNA. What we have now realised is a Community Management System with an incredible set of features straight available straight out of the box - and the potential to be configured into just about anything.

With UNA RC12 we are almost at the end of the line of our Release Candidates (RCs) and the UNA 9.0 version release is just around the corner. We are busy polishing UNA 9.0 to perfection - and have a whole lot more exciting additions planned for UNA 10 (but more of that later...)

You can read the full list of bug fixes and enhancements in RC12  here.

What this means for you…

As a developer in the Social Community space your interest is in building a community of humans to congregate and connect together - in an exchange of information and ideas. We get that, because it is at the heart of what we do too.

What we have now is an UNA that you can trust. A solid piece of software that can be configured to realise the social community that you always imagined. Our team and amazing community are available to support you to create this and build your community into what we all know that it can be.

The vision with UNA was always to create a platform to support the dreamers to realise their dreams. Many of the features for UNA are now fully functional in either our Free or Pro Plan - with many other cool features and configurations being added to the UNA Market every day.

What’s next? For you and for us.

UNA 9.0 should be released within next few months. This release has been 6 years in the making and to say that we excited about it is possibly an understatement. The full box of UNA modules is an extremely capable platform and in the right hands we believe it should be available to create just about any configuration that you can imagine.  As we often say - UNA is very similar to a Lego set - there is a large box of bits that can be constructed into almost any type of Social Community website that you would want - but many of us need some support and guidance to know how or what to build.

For any enterprise clients with specific requirements that need to be developed - we have an amazing development team who can apply themselves to directly to your project to help you get your website built properly and fast.

For those who prefer to DIY we are in the final stages of building our UNA Start Guide, which will continue to evolve into a fully featured UNA-versity - and for some of you who are hovering in the middle - would like to DIY but feel stuck on a few features - our team can help there too - we can assist in building one part of your project or all of it.

So if you’ve got the vision and want to see some magic happen, we’ve got the tools, the team and the know how.

If you are feeling inspired and would like to talk , please reach out and make contact - through the forums or email us at support@una.io, let’s talk about your projects and how UNA and the Boonex team can help to make them happen.

The UNA-verse has been rapidly expanding in recent months - with many new modules added, this created multiple issues that the team have devoted maximum time to ironing out.

RC11 has been released and contains lots of fixes of issues that presented in RC10. RC10 was feature rich, with a lot of those new features still filtering in, the team have devoted maximum time to ensuring that all the ensuing bugs were sorted out. 

With RC11 smoothing out the operations of UNA - the advent of UNA 10 seems ever closer.

With that said - whilst there were not any major new modules added, there were a few new tweaks that are worth a look; 

Analytics Module - Export Reports via CSV - simple but vital, export your analytics data out of UNA into a shareable format, ready to be utilised wherever it needs to be.


Spaces - New Browsing Block with Top Parent Spaces only. - This helps to simplify the top level of taxonomy, so you can present a page with just the Top Level of Spaces only.


Payments -  Enable/disable payment providers via Studio. A tweak to the Payments Module - we can now switch on and off which payment providers are displayed in our payment gateway.


Channels: add ACL action 'create channel auto' #1619 - This feature gives admin power to designate via Permissions Builder what levels of users can create new channels based on hashtags. 

With UNA RC11 - the angels are in the details - the full list of fixes and enhancements is on Github - https://github.com/unaio/una/projects/10

 The attention now moves towards improving documentation and training - and of course preparation for the UNA10 version release. 


This is an interesting observation that I have been discussing with a client recently - how certainly social networks actually encourage outrage and anti-social behaviour to increase engagement. In particular I've noticed that the Facebook Community groups, which are popular havens for community engagement are particularly nasty places, an outlet for trolls, bullying and abuse.

We are all a fairly decent bunch here on UNA.IO - but this culture of outrage is an interesting evolution of many large social communities, particularly when you consider that the publishers are quietly supporting the behaviour.


https://www.livemint.com/Opinion/MZpWbwrUb5AvrbDuVLUcbI/Opinion--Social-media-is-turning-us-into-nasty-people.html

Learn how to edit the content pages like "Terms of Service" and "Privacy" using the Pages app in UNA Studio.

Before coming to UNA I have come from a digital communications background, working mainly as a media strategist, producer and copywriter. In the previous millennium I worked with print media doing similar sorts of things, but in newspapers and magazines. I just did the math - I’ve now worked with clients helping them to solve communications challenges for over 25 years (yikes, I’m old!).

The technology has evolved immensely, but the objectives have always remained the same. We are trying to connect humans with information. People with ideas. To develop and evolve community. A better understanding of the world. Understanding products and services that could make our lives a little bit easier.

Where there are people, there are problems, and it is the nature of humans to seek solutions to those problems. It is our nature to expand, to connect, to learn and to grow. We seek these answers through the same channels we always have, through our communities, through the social knowledge base that binds humans into humanity.

From pow-wow around the campfire, to the Guttenberg press, letters to the editor and talkback radio (all still going strong!) In the new frontier we have seen brochure websites, discussion forums, the blogosphere, digital learning and the evolution of the social network.

So where is the game now, where is the edge in the evolution of human communication?

The last decade I have been immersed heavily in the Blogosphere - I love writing and blogging and the playing field this has brought together marketers with quality products and good stories to tell. Blogging has been developed into an art-form, Content Marketing now a buzzword with some great players in the space. Over the last decade I’ve been a huge fan and avid user of CopyBlogger.com - I love the i way that they attracted users to their site by using Content Marketing to teach people about Content Marketing - (their core product is Wordpress templates) - they have built a thriving business of teaching people how to write for the web - sooner or later most web writers are  going to be interested in Wordpress.

But recently I have seen the Blogosphere becoming stunted - primarily by the relationship that blogs have with their community members and the trepidatious relationship the Blogs have with the social media networks.

Large social media networks have essentially used the Genius and Industry of bloggers to leverage YOUR customers in THEIR platform. Also the structural limitations of Wordpress Platform inhibits a lot of what can be done once you have brought people into your site - without a fundamental restructure, Wordpress is never going to cut it as a Community Management System.

There have been limited attempts to connect Blogs with Social community, but I personally haven’t seen any shining examples, mainly because the great tools haven’t been available, until now.  Wordpress, Squarespace and other popular blogging platforms are very cool, but they run into a wall when trying to manage multiple profiles and communities.

I’ve been toying around with this concept for a while, targeting Bloggers seeking to enrich their relationships with their readers, offering all the 'cookie content’ Blogs/E-Learning Course/E-Books  - essential taking ‘Blog Readers’ on a journey to becoming ‘Community Members’. So they come to your site to seek knowledge, expand on that knowledge and connect with new friends interested in the same knowledge - ultimately feeding back into the knowledge base and supporting others members to learn as well. You Social Community Website should become a place where they broadcast their own content - where they can come to express themselves and build their own sphere of social influence.

So Here Are the 3 Dimensions of Customer Engagement, According to Mark;

Dimension 1 - Engage With Your Content

 Customers Come looking for Inspiration and Answers to their Problems

  • Blogs
  • Articles
  • Social Feed
  • Images
  • Videos
  • Surveys
  • Emails
  • Lessons

Dimension 2 - Engage With Each Other

    Your Customers Become Community Members, they meet other people seeking answers to the same problems, they build trust, build rapport, make friends and frenemies.

  • Social  Engagement within YOUR community
  • Groups
  • Chat
  • Discussing ideas
  • Collaborating

Dimension 3 - Engage With Themselves  

    They develop expertise, and authority within your community, establish a presence, a sense of identity perhaps a professional purpose.

  • Publishing their own content
    • Posts
    • Videos
    • Blogs
    • Lessons
  • Building their own sphere of influence.
  • Begin Selling their products and or services through your community.
  • CRM - managing their own data, subscriptions, grades etc

With the UNA platform we have built a system that can achieve all of this - it is capable of delivering infinite potential solutions, so this focus on Bloggers looking to expand their scope beyond the limitations of Wordpress is just once instance, but one that is of particular interest to moi. 

I’m hoping to expand more on this field over the coming months - ultimately weaving my great loves of Blogging, Social Community Development and E-Learning together as we develop UNA.IO into the go to destination for all there is to know about developing thriving Social Communities in the Age of UNA.

What are your thoughts?  Are there any Bloggers out there? - Please connect, I'd love to learn more!

Reposted Andrew Boon's post.

This is an existential question a software developer has to answer nearly every day. Should we create a setting or just do something the way we see is right and if someone doesn't like it - so be it. 

In theory, it is preferable to make - everybody wins and there's always a "yes" answer to every question. In practice, making everything customisable inadvertently leads to bloated architecture, compromising and in some cases - even more limitations than a one-sided choice would cause. 

Case in point - presentation of comments. First, we have to decide if we should show the latest first or newest first.  Second, threaded or flat. Third, to paginate or load-up. Forth, how deep to nest. Fifth, how many to preload in cards. Sixth, how many to load on-page. Seventh, how much to show if the comment is too long. Eighth, what attachments to allow and how to treat them in preloaded comments. Ninth, what author info and actions to allow. Tenth, how to permalink - to anchors or to dedicated pages. The list goes on and on and on. 

Now, different webmasters have different ideas on what is the "right" way to display comments. So, we do have to have some degree of customisation... but how far should we go? Mind you, every tiny setting creates an additional computational load to the hosting server, requires some form of documentation and leads to inevitable support overhead. It's a tough call, every single time. 

Most of the time we treat UNA as a customisable platform and try to make all features configurable. For many aspiring community startups, it translates into a steep learning curve though, and we can't help but think that if we took a more opinionated approach we could offer a really sleek, robust solution that does fewer things, but in an exceptionally good way. 

Luckily, the platform architecture allows for various approaches and so we will indeed bring a "just works" layer in a form of a UNA App to try and see if it would solve the initial adoption hardships and streamline deployment for projects that don't need very specific design. It will be a "Just One Thing" product and the first preview is due in a matter of days. Stay tuned!

Mark Purser added a discussion

This is an open discussion, many of you are Social Media connoisseurs, I'm interested to know, from your perspective, what are the common features that make a Social Network fly?

Perhaps it is a great niche idea? Or maybe they were the first to implement groovy functionality? Or perhaps they just got lucky? Or maybe it is a symphony of multiple factors. There's a few experts here, I'd love to know your thoughts, feel free to share links to example sites as well.

My ideas are in the comments! 

My Discussions
good experience Baloo thanks for sharing
by Cem Bagdatli
7
Joined Organizations

V

  • 4 members
  • 3 members
  • 5 members
Info
Gender:
Man
Full Name:
Mark Purser
Membership

Administrator

My Posts
My Albums

The Evolution of Online.Me

Online.Me
OnlineMe update1.mp4OnlinedotMeupdate2.mp4OnlinedotMeupdate3.mp4
My Files