cover photo

Hubzilla Development

hubzilla@project.hubzilla.org

Haakon Meland Eriksen (Els Mussols)
  
@Hubzilla Development+ I have never tried Mastodon myself, but I have added two connections. However, I am not sure if they know - how can I tell on my end? What information is it possible to exhange today with a Mastodon connection, either one way or two ways?
Haakon Meland Eriksen (Els Mussols)
  
Thanks, Harald! :-) While I have settled in the Zillaverse, it is good to know we have established contact with the other worlds out there. :-)
elmussol
  
Mario wrote:
[...]you should ask your host to enable the pubcrawl plugin first.


Done thing.
Manuel
  
I don't see Mario's posts, why?
ivan zlax
 
@muppeth @Antilopa please, share link to new repository of this theme.
muppeth
  
\o/

Christopher M. Rasch
 East Palo Alto,  last edited: Fri, 27 Apr 2018 09:57:27 -0400  
!Hubzilla Development  !Hubzilla Support Forum

Is anyone aware of a Hubzilla theme/plugin that makes a forum channel look and behave as much like a Reddit subreddit as possible?  I took a look through Sean Tilley's theme collection, but he doesn't seem to have one.   But perhaps someone else is working on one?
Haakon Meland Eriksen (Els Mussols)
  
I have not seen this, sorry, but what you want seems like an extension of the blog style setting, i.e. also collapse the original post to show just its title, not just collapse the comments, and a slightly different styling of likes into plusses and minuses.

Personally, I think a Slack interface for the Chat app might be interesting, this too is more or less collapsing the view and hiding clutter.
Christopher M. Rasch
  
Ah, no, Reddit hasn't rolled their new UI out for me yet.

Christopher M. Rasch
 East Palo Alto,  last edited: Mon, 23 Apr 2018 19:32:30 -0400  
@Hubzilla Development+  @Hubzilla Development+

I see in the repository that there's a hidden config for a ratings system:

[*= system.rating_enabled ] Distributed reputation reporting and data collection. This feature is currently being re-worked.


Digging into the code a bit, I see this:

ratings are gone. They can be enabled, but there is no UI for doing so at this time; and will likely only be available in a 'pro' configuration once the new implementation details have been hashed out. This appears to require a mechanism for rebuttal before it can again be opened to the public. There are also some synchronisation issues to contend with; as ratings are currently only distributed to active directory servers. There is no reliable mechanism for a new directory server to fetch existing ratings.


More on the directory issue here:

https://github.com/redmatrix/hubzilla/issues/406

If someone has time, can they explain how the ratings system were supposed to work?  Also, if there's currently a discussion happening somewhere about the nature of a future ratings system, I'd be grateful  for a pointer.  

Thank you!
Christopher M. Rasch
  
Gotcha.  Many thanks!
poVoq
 
Btw, interesting recent publication on why online rating tend to inflate towards 4.5/5 stars:
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3136473
Christopher M. Rasch
  last edited: Tue, 24 Apr 2018 17:27:10 -0400  
@M. Dent I think piggy backing on one of the blockchain rating/reputation systems is worth pursuing.  Personally, I'm excited about integrating OpenBazaar into Hubzilla.  OB has a similar ethos (decentralized, open source, privacy centric).  They already have implemented a reputation system based on transaction ratings, and they've put out a call for ideas for better identity/reputation in their 2018 roadmap.

https://www.openbazaar.org/blog/openbazaar-2018-roadmap/

Christopher M. Rasch
 East Palo Alto,  last edited: Mon, 23 Apr 2018 18:53:51 -0400  
!Hubzilla Development !Hubzilla Support Forum

I found it difficult to tell what the add-ons in the Hubzilla Add-on repository did.  So I made a table of the current list of add-ons and their functions here:

https://project.hubzilla.org/wiki/hubzilla/Hubzilla%2BProject/Plugins%2BTable

Comments, questions, and suggestions are welcome!
Christopher M. Rasch
  
Please reload and try again.  For some reason, Hubzilla doesn't seem to like it as a bookmark-able link.
Christopher M. Rasch
  
Thanks, @muppeth!
Christopher M. Rasch
  
@msc, if you authenticate to the https://project.hubzilla.org hub, I think you'll be able to edit it, if you want.

Brian Christensen
  
!Hubzilla Development Support Forum

I seem to get regularly logged out of my instance for no apparent reason, particularly when I visit another hub (i.e. every time I visit the Hubzilla Support Forum I find myself logged out when I return to my own hub). But it doesn't seem to be limited to this, sometimes I just randomly get knocked out even when I stay on my own server.

Checking off "remember me" seems to have no effect. Is there an Apache or PHP related configuration regarding cookies and/or sessions that I should be looking at?
giac hellvecio
 
do you use some firefox-chrome plugin for block coockies?
Brian Christensen
  
Good call. Looks like Ghostery is the culprit. Marking my own hub as "trusted" along with others I visit seems to resolve this issue. Don't know why I didn't think to look at that. Thanks for the tip!

  last edited: Mon, 16 Apr 2018 16:19:45 -0400  
!Hubzilla Development

Hi, I did this by making a widget and adding a bunch of pdl files to the redbasic theme. Each .pdl has this at the top:

[region=nav][widget=navbuttons][/widget]$nav[/region]

It's not perfect, as I'd rather have the icons to the right of the profile dropdown, but that would require editing the navbar code outside of any theme,  I  think... ? Is there any other way?

Image/photo
  
So new theme! Greenbasic
If you are on 22330.fr, go to menu profile -> settings -> display to select it.
I'll upload it to my git account as soon as I get time

#hubzilla #theme #green


Image/photo
galettesaucisse (Galette Saucisse)

Image/photo

galettesaucisse has 3 repositories available. Follow their code on GitHub.
Haakon Meland Eriksen (Els Mussols)
  
In a theme there can be schemes too.
  last edited: Wed, 18 Apr 2018 16:24:52 -0400  
Yes, this is an experiment really, I wanted to learn how to build a theme that works across a site without user input. Plus it has a modified navbar.

Cat Gun
  
!Hubzilla Development

The OpenBazaar team recently posted their roadmap for 2018.  As y'all may be aware, OpenBazaar is a decentralized trading platform--imagine Amazon, but running on a distributed network of user's computers, rather than a centralized data center.  

One of the items on their roadmap is a decentralized identity and reputation system.  Given that decentralized identity is one of Hubzilla's strengths, I encouraged them to take a look at how Hubzilla does things.

Christopher M. Rasch
 East Palo Alto,  last edited: Thu, 05 Apr 2018 19:49:24 -0400  
!Hubzilla Development

Pinboard.in is a social bookmarking site, similar to Delicious.  It's an unusual company, as internet companies go.  First, it's run by a single individual, Maciej Cegłowski.   Second, it accepts no ads,  and no third party tracking.  Third, Ceglowski directly charges users money for the service.   Initially, the fee was a one-time fee based on the formula (number of users * $0.001)--about $5.00/year.  Currently, it's about $11/year for a regular account,  and $25/year for an archival service which stores a copy of the bookmarked page and enables full text search.   The site began in 2009, and currently makes about $259,000/year in revenue.

Is anyone doing paid Hubzilla hosting yet?  If not--given Ceglowski's experience with Pinbooad--it seems like it might be a workable business model that's consistent with the ethos of Hubzilla's community.  

See screenshot:

https://blog.pinboard.in/2017/07/eight_years_of_victory/

Image/photo

#pinboard
Christopher M. Rasch
  
@Andrew, FWIW, there are VPS providers outside the U.S. who allow anonymous registration and payment with Monero (anonymous cryptocurrency).
Start Administrator
  
That's kind of like hoping you don't have to pay taxes as long as you store the money in off-shore accounts that they can't trace back to you. It might work technically speaking, but for me, I'm too much of a rule follower.
Waitman Gobble
  
I could host sites, but I'm not sure it's a value winning proposition. I've hosted thousands of sites since the 1990's. There's all kinds of cheapy hosting plans out there, i've never gone that route. Charging less than 25 bucks a month isn't really worth the trouble financially for a small hosting company. Really you have to upsell on updates and maintenance. try to get another 50/mo out of them.

I have a godaddy account with one domain, i totally dislike godaddy but i support a couple of people who use godaddy so i have to be an expert at it. or at least log into my account and tinker with things to find the answer to a question. That costs me about 35 bucks a month.

A ballpark idea would be a server that runs about 250 a month, and maybe you could put 10 to 15 hubzilla sites on it? the money isn't there. I haven't tested that and maybe i could load more hubzilla sites on that machine, but that's my guess.

Cat Gun
  
!Hubzilla Development Support Forum

Are there any tutorials for setting up Hubzilla as a Tor Hidden service?
Cat Gun
  
@Administrator, @Mario Vavti Thanks for the response!
cb7f604332cf39
  
You may install:
apache
mysql
php
tor
a proxy to forward http to socks (like polipo)
hidden service
Take the .onion url of the generated hidden service and install hubzilla with that.
For the installation you may name the generated hidden service in /etc/hosts
don't use ssl (cause could be difficult to get a valid cert)
generate first account with local email address like root@127.0.0.1
Use the general proxy setting in hubzilla to forward all traffic to the proxy to forward to tor.
Disable all outgoing mail. Disable mail verification. Or you have to install an Mailserver as an onion service.

Please note: hubzilla as a hidden service is unable to connect to the regular inet, cause ZOT handshake fails. The hubzilla server in the regular Inet are unable to connect your server for verfication nor remote auth.
Cat Gun
  
Thanks, @cb7f604332cf39

Christopher M. Rasch
 East Palo Alto,  last edited: Thu, 05 Apr 2018 14:56:07 -0400  
!Hubzilla Development

What I'd like is an app that would allow me to pay to "boost" a post and/or to people who have opted-in to see paid boosts.  For example, suppose I were a wedding photographer.  I'd like to "boost" my ad to people who meet the following criteria:

1) are in my town
2) have opted-in to see paid "boosts"
3) have "wedding" (or related keywords) in their recent posts

In exchange, they'd get a percentage of the amount I paid to boost the post/ad to them.  Is anyone working on such an add-on like this?

#boost #ads #monetization
Mike Macgirvin
  
You aren't likely to find much support for advertising in this mob. That represents the world we all left. You are truly free here and can pursue anything you wish, but be advised that you're amongst many of the same people who left Ubuntu forever for providing an optional Amazon search. I won't have any part of it because it is contrary to my core beliefs. You're probably OK with monetisation strategies based on subscriptions and/or access to resources. That's the primary direction we're going, so eventually some sites might offer additional cloud space beyond a free basic plan. You can do this today but the payment stuff is still evolving. We also have basic support for 'premium channels' wherein one needs to accomplish something before friendship is accepted and access permissions are granted. You're welcome to discuss other monetisation strategies, as begging for donations is a pretty poor option. But as soon as it crosses the line into mining personal data, you're likely to be shunned like the measles. Nobody here trusts opt-in advertising, because they've watched time and time again how that choice was quietly removed.
Christopher M. Rasch
  
Okay, thanks!
paulfree14
  
same here. It is one of the reasons I switched away from fb and co. I don't want that those who have more economic possibilities are automaticly provided with more reach. It is amplyfing by that the ideas/opinions/values of a opressive "ruling class".
I do not want to see this way of advertisment anywhere in the fediverse. But of course no one will stop anyone from writing something like this. Tryn to roll this out to the fediverse, you're lickly to cause many countering your efford with just isolating your instance from the rest of the network.

Don't get me wrong. I understand the need behind monetisation. But in oder to make it work, it needs to be done in a way that others accept. My preferd concept sofar is donation basis. Some app that would make that easier within hubzilla (I think) is on the way through the e-commerce addon @M. Dent is working on.

Christopher M. Rasch
  
!Hubzilla Development Support Forum  I'm investigating Hubzilla because I'm interested in recreating some communities that were shutdown on reddit recently (/r/beertrading, for example).  Some of those communities had 20,000+ or more members.  Has Hubzilla ever been tested at that scale yet?   If so, anything I need to now to ensure that my hub can scale that large?  What's the largest community forum on Hubzilla now?
Christopher M. Rasch
  
Thanks for the response!  I'm assuming that most people won't want to run their own server, and will connect to one of a few servers.
Christopher M. Rasch
  last edited: Tue, 27 Mar 2018 09:36:13 -0400  
!@mrjive Thanks! Are there hubs that you would recommend to someone who wanted a hub, and was willing to pay, but didn't want to host themselves?  If I wanted to host one myself, what tools should I be looking for to help handle the billing, etc?
Christopher M. Rasch
  
@h.ear.t | tobias  Alcohol sales in the US are heavily regulated, by a wide variety of agencies across many jurisdictions. As I understand it, reddit doesn't have the capacity to monitor the sales in their sub-reddits to make sure they're complying with the law, and doesn't want to be held liable for profiting from illegal alcohol sales.

neue medienordnung plus
  
That https://project.hubzilla.org/channel/announcements/ [1] page - news menu item on project.hubzilla.org - contains for me none content, only blank page for default browser languages english and german. Is it desired behavior for [1]?

Browser Firefox 58.0.2 (64-Bit) @Hubzilla Development+ @Hubzilla Support Forum+
Andrew Manning
  
It's broken for me too. Hubzilla development channel too. I'll look into it.
Andrew Manning
 
As usual, it was my fault. I had tweaked the bbcode renderer and that had broken it. Should be fixed now. Thanks for reporting the problem.

Sean Tilley
 San Francisco, CA (37.7840227 -122.3973893) 
!Hubzilla Development Good news! My Hubzilla themes repo is getting updated so that themes properly conform to the Hubzilla 3.x series. I have an issue queue of things to work on, and hope to get everything resolved in a short amount of time.

As many of you know, this repo is part of a long-running playground to explore the different layers of the platform, and experiment with various ways to customize the look and feel of one's hub. I have considered it to be very valuable for myself, as I've gotten to peel through many different parts of Hubzilla's display system and figure out how they work together.

The following themes are basically "complete", save for some minor cosmetic work:
  • Suckerberg
  • Clarity
The following are require in-depth adjustment. The good news is that this is an opportunity to not only fix the themes, but write custom widgets and adjust each one to a specific layout:
  • Bookish
  • Nova
  • Occupant
  • Sporadic
  • Stumble
  • Sunbeam
Andrew Manning
  
What's the latest doco for how to install and enable them? Is this still accurate?

Sean Tilley
 San Francisco, CA (37.7840152 -122.39734259999997) 
!Hubzilla Development

If you're running the dev branch of #Hubzilla, you'll see that a new feature has landed for channels – Articles

This is a really exciting feature to me, as I hope to build We Distribute on top of it.

Here are a few relevant files to understand different pieces of it:Here's a quick test article, as it appears today: https://deadsuperhero.com/articles/dsh/suggestions-happier-life

I'd love to explore the theme development side of this, specifically to make Article objects look like an article you'd see on any popular CMS that features them. (Ars Technica, the Verge, Mashable, etc). This may require me to open my first actual pull request for the Hubzilla project, as this is a feature of huge interest to me. The first "useful" thing I can think of might be a thumbnail field, which sets the og:image property of the article when shared.

Eventually, I might dive into either building a page or a plugin that shows all published Article objects on a hub, sorted by published date, complete with title, link, and author information.
Jason Robinson
 from Diaspora
I guess articles don't federate? Or just not yet? Or didn't federate here :P
Sean Tilley
  
@Jason Robinson ? I guess you missed Mike's comment since he doesn't use Diaspora federation, so I'll post it:

Articles do not federate naturally. They are interactive. So think of it like an old fashioned blog.

Articles can provide summaries. These do not use industry standard methods of providing summaries since Mastodon has turned all of these into 'content warnings'; basically precluding anybody using them for summaries ever again.

Webpages are not interactive. Cards are interactive and actually very similar to articles but differ in the fact that one is called a 'card' and one is called an 'article'; and therefore readers might have different expectations of what they are and what they do. (The simple answer is that one is a 'card' and the other is an 'article'.)

A lot of people seemed concerned and upset that we provided webpages and cards and wikis and interactive posts but did not have a thing called 'articles'. Now we do.

Hope this clears things up.

Incidentally you can also provide summaries in posts and comments, but don't do it. The reason is that these could federate with Mastodon and Diaspora and GNU-Social and the summaries won't work in other networks (because Mastodon has made it impossible or impractical to try and translate to standard 'summary' fields without generating warnings). So we don't translate it at all. Readers on other networks will see a mess. Save summaries for 'articles'. That's what they're there for.

Missing at this point is separate feeds for articles (and cards and perhaps webpages). This would be a useful tool except for the fact that feeds use standard communication formats which provide separate 'summary' fields and Mastodon has pretty much fucked these up for everybody. So that's why we don't have article feeds. We might be able to provide 'summary' feeds and separate 'article' feeds at some point but it would be so much better to just rid the world of Mastodon so we could do this the right way once and be done with it.
mrjive
  
Just for the record: I didn't !

Sean Tilley
 San Francisco, CA (37.7485824 -122.4184108) 
@Hubzilla Development+

It's a tough nut to crack, but it's possible to export a #Godot game to HTML5, then embed the resulting game into a #Hubzilla addon. Right now I'm experimenting with loading a platformer game demo into the skeleton add-on as a base. I've got the files spread out and structured into a hierarchy, and I hope to get the player to successfully load with these changes. After that's done, I'll be able to put it into a proper view template, and wrap some native interface elements around it.

My hope is that this could provide a method for sharing my games on the web, in something that could be featured as a personal gallery. A pipe dream version of that may be some kind of "Game Library" add-on that can load and store related Godot HTML5 games and display them in a gallery of sorts.

As far as HTML5 games are concerned, there are generally a number of limitations. Keyboard input works well with Godot, but right-click interactions seem to be off the table for now. Games also seem to be affected by load times proportionate to the overall file size, although it seems that this can be handled gracefully when it comes to loading individual scenes (game levels or rooms). I'm curious to test this out with my own projects as their size and complexity scales up.

Another interesting aspect is that Godot can be made to interact with libraries and environments outside of itself. In theory, it may be possible to provide some sort of bridge between Hubzilla's own hooks and the game engine. One simple way to demonstrate this might be for the game to welcome a player by their channel name.
Alexandre Hannud Abdo
  
I participated in a Godot workshop last year, this is an awesome idea... another  obvious thing would be for Hubzilla to keep track of player scores.

Sean Tilley
 San Francisco, CA (37.78400070000001 -122.39733890000001) 
@Hubzilla Development+

Hey Hubzillans,

As most of you know, I have spent a significant amount of times developing themes for Hubzilla. They've largely been a playground for design ideas, and most of them are little more than a skin for redbasic. Overall, this has been a very good starting point for my theme experiments, and I've learned a lot thanks to Mike, Mario, and Andrew. As of late 2017, I've finally gotten to a point where it's possible for me to develop custom theme widgets, after much trial and error.

However, there are many elements of the interface that cannot be easily overridden - such as button arrangement, placement of UI elements in posts, and custom menus and icons for the navbar. While this doesn't bother me by a huge amount, it is somewhat limiting to the kind of designs my theme can take on.

I've been debating the possibility of writing a new theme engine from scratch for Hubzilla, with the purpose of taking my theme development to the next level. I'm aware of the possibility that independent themes may break over time, and will require a higher degree of maintenance to keep pace with future versions of the platform. There will also be design conventions to consider, such as the menus for remote users visiting from another hub. These are things I'd rather not break.

I was wondering whether anyone had tips or pointers based on their experiences in working with redbasic. How often do you have to update the hooks and templates that go into this base theme?
Mike Macgirvin
  
All of this is possible by over-riding the templates; but as you're no doubt aware, this comes with a maintenance cost. If core templates change or add functionality you are sort of required to watch and stay on top of it or the theme will eventually atrophy. I don't know of any way to work around this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds.

I started work at one time on a button layout so you could order buttons to your liking (or add/remove them easily). I didn't get very far on it before getting distracted by more significant features, but it's certainly desirable in the editor.

The most contentious bits of the interface turn out to be the editor, the conversation templates (posts/comments) and the navbar template. These are also the most-often modified templates. I have in my (very long) to-do list a layout language for the navbar ('Navajo') to be able to design custom navbars with a descriptive tag-based language like Comanche.

Perhaps the editor and conversation templates could also make use of some form of abstraction layer. I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract. At some point the end result is HTML/CSS/JS and we want to give theme designers complete control over this output. We do this, but it requires a bit more perseverance and a much larger maintenance commitment than a comparable WordPress theme.

What it may be crying out for is some form of template versioning scheme, so your theme could ask for a stable template version; with a known set of variables which remains constant - even if the core project moves on to something new and incompatible.
Sean Tilley
  
Hey Mike, thanks for your thoughts on this.

WordPress doesn't provide a lot of guidance here because there are only 3-4 templates which contain most if not all of the content - and the template interfaces change at glacial speeds...

The current system isn't really bad - it's just very poorly documented and there are hundreds of templates (290 to be exact) covering a lot of different functionality, so it's bloody hard to abstract.


Yeah, this was something that I was initially looking at, and seems to be the biggest challenge. In theory, it sounds like it's possible to at least write a handful of custom templates from scratch and significantly alter the layout of elements, as long as the proper hooks are used to build an interface.

I'm not sure how this relates to your concept of a 'theme engine' because I'm not certain what you envision for that and how it would work.


At the moment, I think it would just be a drop-in replacement for redbasic, which other themes could build upon. The new base theme could include the most important templates, along with a series of bespoke core widgets, fallback CSS/PHP/TPL/PDL, and custom JS for things like notifications.

Maybe the approach I'm thinking of is overkill, but I think it might be interesting to try to build alternative frontends for Hubzilla through low-level theme development.
kris
  
@Sean Tilley

I simply download the zip and copy with ftp few of your themes and I am testing them. Thank you for the good works you have done.

I think maybe in the future we can imagine a tool to install a theme with one click from admin like we can do with wordpress (I know I am dreaming)

At least information where to find it and how to install it would be more visible. I think I have to test each theme for a few days to really use it.

neue medienordnung plus
  
I moved files/ folder from location/ hub A. But the copies from moved files/ folder stay on the hub B. Is it correct behavior of Hubzilla? Hubzilla version on both hubs A and B is 2.8.1.

@Hubzilla Development+ @Hubzilla Support Forum+ #deletedObjects #movedObjects
Mike Macgirvin
  
This seems to be dependent on exactly *how* the files were removed. It works correctly using DAV but failed to sync properly if deleted using the web browser interface.

Should be fixed upstream.
Maria Karlsen
 Sweden,  last edited: Sun, 21 Jan 2018 06:43:28 -0500  
I don't really believe this is possible, for a number of reasons, but it's an idea:
@Hubzilla Development+

1a: Main location is down. People who try to visit it get a server error message.
1b: Main location is down. People who try to visit it get automatically redirected to clone #1.

2: Clone #1 has issues. Automatically redirects to clone #2.

3: Clone #2 works without problem. The requested channel/page can be viewed without problems.

.
Mike Macgirvin
  
A close variant of this discussion just happened on the W3C community git. You may not be aware but we redirect webfinger; which means it's possible to automatically discover when somebody has moved. I don't think we're using this currently but it presents some interesting possibilities. If you get somebody's business card and it says they're foo@bar and you try and connect and find that bar is dead, you can in theory send the same request to any directory server and if it has a new record for foo it will send you there.  This *could* all be done automatically within hubzilla.


I don't have a perfect solution, but it's possible (using the chanview module inside Hubzilla) to accomplish profile page redirection in a similar fashion. It would take longer to load in the first place because chanview would in this case need to test the page before sending you there. One could also build this kind of ability into magic auth since it's already going to try and connect to that page.

Sean Tilley
 Peoria, Peoria County, Illinois, United States of America (40.772379699999995 -89.6304857) 
@Hubzilla Development+ I'm starting to play with widgets, and want to learn a bit more about how they work.

As an experiment, I would like to selectively display only certain pieces of profile information in a specific order. I looked at some of the widget examples in /include/widgets.php, and many of the widgets return profile_sidebar.

function widget_shortprofile($arr) {
    $a = get_app();
    if(! $a->profile['profile_uid'])
        return;

    $block = (((get_config('system', 'block_public')) && (! local_channel()) && (! remote_channel())) ? true : false);

    return profile_sidebar($a->profile, $block, true, true);
}


I dug around a little more, and found profile_sidebar in channel.php. Earlier on in the file, I discovered this:

It is very difficult to templatise the HTML completely because of all the conditional logic.


This makes sense, but I am curious: is there a simple way to selectively display bits and pieces of profile information in a widget? For example, would I be able to get away with declaring variables in a PHP or PDL template for a new widget?

I'm just curious about what the best practice is here.
Mike Macgirvin
  
If you are on any page that is one of your personal pages (as opposed to a system page), we've loaded your profile into App::$profile. profile_sidebar() just displays a subset of this already-loaded information. You could easily display a different subset.

If you examine profile_sidebar() you'll see that there is quite a bit of decision making and you might not want to duplicate all of this. Ergo it makes a certain amount of sense to be able to pass arguments to profile_sidebar to control what is displayed rather than try to duplicate the entire function elsewhere.

But if you look at the profile and channel tables in the database, anything therein is available in App::$profile for you to make use of in any way you desire.