Skip to:
Content
Pages
Categories
Search
Top
Bottom

BP Album works fine but doesn’t add anything to the activity stream

  • Avatar of Hysteriux
    Hysteriux
    Member

    @hysteriux

    As i’ve always had this “problem” with this plugin i assumed that it must be a common, well-known problem. But as i can’t find any complaints about it here i guess i have to start a new topic about it.

    Neither new uploads nor comments made on new uploads appear in the global activity stream on my site, and never have. According to the description for this plugin i’ve interpreted that it’s supposed to add this information to that stream too and not just the personal stream of the people performing the actions.

    Am i wrong in my understanding of this plugin or is this a bug?

    WP 3.3.1
    BP 1.5.4
    BPA 0.1.8.11

Viewing 6 replies - 1 through 6 (of 6 total)
  • Avatar of foxly
    foxly
    Participant

    @foxly

    @hysteriux

    I haven’t been in the code that handles BP-album activity stream posts for a long time, but I think we disabled posting to the *global* activity stream in early 2011 because sites were complaining that it was “flooding” the activity stream with posts. Basically, sites with 1,000 users each uploading 20 images found themselves with 20,000 activity stream posts, and that drowned out actual user comments in the activity stream.

    We solved this problem in BP-Media by giving the plugin the ability to automatically assemble multiple uploads into a single activity stream post, and “go back in time” to add new uploads to old posts, mimicking Facebook’s activity stream solution.

    http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/activity/sub-activity-class-core.php

    http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/activity/sub-activity-class-multipost.php

    This functionality was working as of December 2011, but it needs to be refactored for the new BP-Media database engine. It will be deployed in the BP-media beta release this summer.

    ^F^

    Avatar of Hysteriux
    Hysteriux
    Member

    @hysteriux

    The annoyance from it obviously depends on how many members you have and how active they are in uploading photos. I doubt most of the communities using BP have more than a few hundred members.

    I don’t understand why neither the devs of BP nor of BPA have given much (or perhaps any) thought to simply making the global activity stream personal so members can set what to display there to their personal liking on a member and group basis. For example move the stuff they don’t want there to a secondary activity stream tab or whatever that shows all things that they’ve chosen not to see by default.

    Or another simple solution would be to give uploads its own tab on the Activity page and add numbers within the tabs that shows how many new entries there are since last a person checked.

    Practical solutions like these are better than simply throwing features away because the owners of the big communities happen to complain due to their mere size. Give us ALTERNATIVES instead of catering BP and its plugins to a single crowd and there won’t BE any complaints since everyone can choose what they like then.

    In my case it’s a gaming clan who certainly aren’t very active in terms of uploading many photos. Will me telling my members to spam your inbox with complaints make you temporarily cater to my crowd?

    Excuse my aggravation. I’m just so tired of hard-working devs complaining about their users complaining instead of giving feedback when many of them DO give feedback and then seeing the devs not caring, i being one of those who try to give constructive feedback in the shape of little practical solutions that could fix many problems for many users and add to the overall rating of the entire software and still barely ever seeing anyone have time to listen.

    Avatar of foxly
    foxly
    Participant

    @foxly

    @hysteriux

    We care about your feedback, but there’s a lot going on behind the scenes that you probably aren’t aware of:

    1) BuddyPress is a young platform. It’s only been around for two years. The code to do things like “save activity stream preferences for every BP user” just doesn’t exist. Well, it didn’t exist until *our team* wrote it a few months ago.

    2) Writing code to do seemingly “simple” things is often an massive project when it has to scale to large numbers of users (Largest BP-Album install is currently 240,000 users).

    Adding the ability to “save BP user preferences” required:

    a) A custom DBO system: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/database/class.database.query.builders.php http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/database/class.database.core.php …etc

    b) A memory caching system: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/cache/class.memory.cache.php

    c) The actual config class: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/config/class.config.system.php

    d) A front-end HTML framework to accept user settings: http://code.google.com/p/buddypress-media/source/browse/#svn%2Fbp_media%2Ftrunk%2Fcore%2Fadmin

    e) A data validation class: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/database/class.database.sanitizers.php

    f) Strong typecasting: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/database/class.database.typecast.php

    g) Front-end javascript classes: http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/js/bpm.admin.notifier.dev.js http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/core/js/bpm.admin.nav_target.dev.js

    And all of this had to be tested. Which required:

    h) A custom unit-test system:
    http://code.google.com/p/buddypress-media/source/browse/bp_media/trunk/unit-test/testlib/test.core.php

    i) And all the unit test code: http://code.google.com/p/buddypress-media/source/browse/#svn%2Fbp_media%2Ftrunk%2Funit-test%2Ftestcase

    ===

    What you guys need to understand about “open source” software, is that our team doesn’t write this stuff as an ego boost …we write code because we need it for sites we’re being paid to build. We then share the code with *you guys* so you can use it on your own sites *for free* in the hope that you’ll write something that *we* can use on *our sites* for free.

    If you had to pay to get the code above written for you, it would cost well over $50,000. We’re hoping that the 15,000 sites and 2.7 million users currently using BP-Album and soon to be using BP-Media will collectively produce about $50,000 worth of code that we can go back and harvest to use on our own projects.

    ===

    If you want to influence BuddyPress, BP-Album, and BP-Media, don’t sit in a forum saying our dev team should do this and that …take our code and *add what you want to it*.

    1) Get yourself an editor: http://netbeans.org/

    2) Get yourself a dev server: http://www.apachefriends.org/en/xampp.html

    3) And start working on stuff for BuddyPress http://buddypress.trac.wordpress.org/report/1

    4) Or BP-Media: https://www.pivotaltracker.com/projects/169903

    Don’t know how to code? We’ll teach you…

    5) http://code.google.com/p/buddypress-media/wiki/DOCS_BPM_newDev_box

    6) http://code.google.com/p/buddypress-media/wiki/DOCS_BPM_newDev_training

    To add new stuff to BP-Album or BP-Media, you…

    7) Send in a patch: http://buddypress.trac.wordpress.org/attachment/ticket/4018/bp-activity-classes.php.patch

    8) Then we test your code, and add it to the production version of BP-Media. And if we use your code, you get credited as a contributor: http://code.google.com/p/buddypress-media/people/list

    ^F^

    Avatar of Hysteriux
    Hysteriux
    Member

    @hysteriux

    There’s always that dilemma of the time and effort it takes to learn enough about a coding language to be able to add what you want versus the time and effort that it would take to actually code it. It’s like learning how to pilot a jet in order to eventually fly a single trip back and forth to work. And then there’s that other dilemma of having to keep up with all the code and use it now and then to not simply forget about it. If you’re gonna get into this stuff you’ve got to stay there and work hard for years for it to feel like all that learning was really worth it. In most cases, where a person has one or two small complaints and/or ideas about features, it’s obviously not going to result in an increase of the dev staff since people realize it’s a lot more work for them to do it than it would be for the already existing staff to do it since they already know the coding language. I guess this irritates you as much it does me, wanting to help out but just not feeling inclined to work that hard again only to cast all that knowledge away yet again. Modded a lot for phpBB once upon a time. Ain’t got 10% of that knowledge left in the ol’ mush. So why did i bother learning about it if i’m not going to make a living out of it, i’ve asked myself many times. A good question!

    As grateful as i’m sure that the energetic teenage hobbyists and upcoming young adults seriously interested in joining the developing work-force are about all the help that you guys can give in terms of learning how to become a professional coder in their free time, i don’t see what i could even offer BP that wouldn’t already had been created by someone else by the time i’d be educated enough create it myself. That’s another problem with open-source; the more that get involved, the less needed you feel.

    Avatar of foxly
    foxly
    Participant

    @foxly

    `It’s like learning how to pilot a jet in order to eventually fly a single trip back and forth to work.`

    Some open-source developers put together a video about that a few years ago:

    http://www.youtube.com/watch?v=L2zqTYgcpfg

    `As grateful as i’m sure that the energetic teenage hobbyists and upcoming young adults seriously interested in joining the developing work-force are about all the help that you guys can give in terms of learning how to become a professional coder in their free time, i don’t see what i could even offer BP that wouldn’t already had been created by someone else by the time i’d be educated enough create it myself.`

    Some open-source developers also put together a video about that:

    http://www.youtube.com/watch?v=Pk7yqlTMvp8

    You don’t have to be able to code to be able to help. We manage a large number of people with diverse skill sets and bring them together to create awesome stuff. This is not an operation being run by “some kids”. I have an engineering degree and 22 years’ coding experience. Other team members are equally qualified in other fields.

    Some of the most important tasks in the project involve no coding at all:

    Sample UI designer task:

    1) Visit YouTube, Flickr, FaceBook, Google+, DeviantArt, and Vimeo.
    2) Upload content to all of these sites.
    3) Based on what you’ve learned, figure out the best way for BP-Media users to upload content. There are no restrictions, our dev team can code anything.
    4) Using a pencil and paper (or Photoshop, or Flash, or Sketchup, or Illustrator, or Google Docs) draw what the upload process would look like for a user, and explain how it works in text.
    5) Submit your work to the project tracker.

    Sample Graphic Designer task:

    1) Based on the work submitted by the UI designer, create a pixel-perfect Photoshop illustration of each screen in the upload process.

    Sample Researcher tasks:

    1) Google uses some kind of space-fill optimization algorithm on Google+ to arrange gallery images in a visually pleasing way, without having to crop the images. Facebook has recently started arranging their images in a similar manner. Find out the name of this algorithm, and ideally, example code that implements it.

    2) SoundCloud appears to be able to buffer a 2+ hour long 192kbps/44khz mp3 file in under 30 seconds, which would require downloading 200MB+ of data. This is physically impossible over most internet connections, yet users can “scrub” through the entire file with zero buffering time. Find out how they’re doing this.

    3) BP-Media currently uses FFMPEG to transcode video files. This library uses CPU cores on the server to perform the transcoding calculations. Modern video cards are hundreds of times faster at transcoding video files than CPU cores. If transcoding could be done on a video card on the host server, BP-Media could stream video in real-time. Find out if anyone has written a library that allows FFMPEG to use the processing power of a video card.

    ^F^

    Avatar of Hysteriux
    Hysteriux
    Member

    @hysteriux

    Much like your previous posts, that’s some great stuff for the people hot on getting to work on the BP framework. In my case the only complaints are at the lack of options for the different stream tabs though, which as it seems is an airplane that you’ve already undertaken construction of. I’m not really a target audience for your enticement as i’m not in a part of my life where i feel comfortable spending time to improve a software beyond the few problems i have with it as a mere hobby. That’s what eager teenagers with Asperger and endless amounts of time are for. I couldn’t do anything for you that someone with more time couldn’t do better. Not that you don’t deserve the help, but i can think of a dozen other software i use that i should show equal appreciation to its developers for by helping them improve them too. Had i received a similar introduction to the coding of this software ten years ago i’d be a BP regular by now, which i realize is impossible of course since BP didn’t exist. Considering that you almost make me wish i could turn back time to do so, your attempts at picking up assistance certainly must be something you’ve spent a lot of time doing as well. ;) I hope that many people get to read what you’ve written here. Though i guess there may be hundreds of other topics in this forum with similar content.

    What you said about the operation not being run by some kids; i didn’t mean to imply that it is. What i meant was that i couldn’t imagine anyone but an eager teenager or a young adult wanting to learn about coding to find a career in it like you did would spend their free time working on a software project as a mere hobby. What educated adult, married with children, would have time for this if it wasn’t their actual income? That’s not really implying that MP Media was created and is managed by the young and inexperienced as much as to imply that they’re the ones who i figure would be enticed enough to do the minor stuff that you’re asking for someone to do here; the things that the young and inexperienced (and therefor not in need of an income) actually CAN do for you, free of charge. For that matter, explaining how many years of experience the people who work on BP Media have doesn’t leave a very positive imprint on those potentially seeking to help you, knowing they may very well have to spend equal amounts of time and money simply to perform this hobby, which i insist in referring this activity to unless you’re getting paid for it. There’s hardly any glamor or purpose to be gained here for a hobbyist other than to improve your skills to go somewhere, which i have some experience in once being one of those kids and having many friends who either chose it as their career or quit entirely since it was just a phase. If you’d say that you have adults, married with children, spending hours on your project every week without getting paid for it i’d say you were a liar. I don’t believe, or frankly hope, that such people exist, which is why i must assume that you only have teenagers and young adults in your “assistance-staff”. This is of course not wrong in any way. It’s great that kids have destinations like open source software to turn to for their boredom and eagerness to make something of themselves.

    By the way, that People list only shows eight. Not that i’d care even if i’d be joining the work-force, but enticing people to join in order to end up on that list when it only shows the eight most talented developers of the project is perhaps not the greatest idea to enthuse those coming around to read your posts here and who desire such publicity. I mean, it obviously doesn’t show the “large number of people with diverse skill sets” that one would assume that list was for. Just an idea for your future up-picking activities! For that matter, how many do you actually have working on BP Media then, if there really are many more than those on the People list?

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘BP Album works fine but doesn’t add anything to the activity stream’ is closed to new replies.