Tag Archives: cloud computing

iCloud Dreams

Got lots more to blog, including something about “received knowledge”. And a list of things I love about Google. (I’m also getting started on “logical punctuation”, as you may already be noticing…)

But, at the risk of attracting trolls and Apple haters, I thought I’d post some notes from a daydreaming session. In some ways, it’s easier to write than the rest. And it’s more “time-sensitive”, in that my thoughts will likely sound very silly, very soon.

But I don’t care.

So, yes, this post is about iCloud, which will be officially unveiled in a few hours. No, it doesn’t mean that I expect anything specific from iCloud or that I trust Apple to deliver something awesome.

Contrary to what some people seem to think, I’m no Apple fanboi. I use a number of Apple products and I find several of them to be close to the ideal in my workflow, but I don’t have any sort of deep involvement in “the Cult of Mac”, Apple Inc., AAPL, or even Apple-focused development. I use the tools and like them, but I don’t think Apple will save us any more than will Facebook, Dell, Google, Amazon, Twitter, HP, or Microsoft.

[Automattic, on the other hand… 😉 ]

So, back to iCloud…

According to many, “cloud computing” (whatever that means) is a domain in which Apple has been relatively weak. I tend to share that opinion, despite the fact that a number of tools that I use have to do with either “the cloud”, Apple, or both. What might give trolls and haters some ammo is that I do have a MobileMe subscription. But there’s a lot I dislike about it and the only features I really find valuable are “over-the-air” syncing (henceforth “OTA”) and “Find My iPhone”. And since I use GSync on my iPod touch, MobileMe’s OTA isn’t that incredibly important. Depending on what iCloud may be, my MobileMe renewal (which comes up in a few days) could be a very hard sell. I don’t regret having it as it did help me retrieve my iPad. But it’s rather expensive if it’s the only thing it does. (Then again, so is insurance of any kind, but I digress…)

So, I’m no MobileMe poweruser. Why would I care about iCloud?

In some ways, I don’t. Or, at least, I didn’t. Until very recently, though I saw rumours about Apple’s new “cloud services”, I was only vaguely intrigued about it. I did think that it might solve my MobileMe issue. But I treated these rumours with a lot of skepticism and a rather low level of interest.

Yet, today, iCloud has been giving me a drift-off moment. Like Android did, at some point.

It’s not that I have predictions to make about iCloud. I’m not even speculating, really. But it got me to think. And, I admit, I enjoy thinking.

Without further ado (about nothing), my fanciful thoughts stemming from a short daydreaming session about iCloud…

The main thing people seem to be expecting  (based on rumoured negotiations with music publishers) is a music streaming service similar to Music Beta by Google or a digital file storage service similar to Amazon Cloud Drive. Both of these are quite neat and I could see myself using something like this. But it’s not exactly what makes me dream. While iTunes integration might make Apple’s version of a music streaming service somewhat more useful than the others. Besides, rumours have it that, through agreements with the recording industry, iCloud might sync music without requiring long uploads. It’s quite possible that this only works with tracks purchased on iTunes, which would upset those whose expectations are high, but could already be useful to some.

Where I’m beginning to drift off, though, is when I start thinking about OTA for podcasts. It’s been high up on my wishlist, as a feature, and you might say that it’s a pet peeve with iOS devices for podcatching. Having to sync my iPod touch to my main desktop just to have my podcast list up-to-date is a major hassle. Sure, there are apps which sync podcasts OTA. Problem is, they can’t add podcasts to the native iOS media player, which is a dealbreaker in my case. (As absurd as it may sound to others, one reason this is a dealbreaker is that I now listen to everything at doublespeed. Hey, it’s my podcast library and I listen to it as I want, ok?)

So, OTA podcasts would constitute a significant enhancement to my experience. Nothing absolutely required and possibly not that significant for others, but it’d really help me in more ways than one could imagine.

Thing is, syncing my iPod touch isn’t just about podcasts, even though podcatching is my main motivation to sync. After all, I don’t listen to podcasts yet I still sync my iPad. So, what else? Well, backing up is the main other thing, and it might be one of the core reason for Apple’s implicit insistence on syncing. That’d be classic Apple. Data loss can be such a big problem that they’d “do what they can” to prevent users from losing data. Far from perfect, in my experience (I ended up having some problems when I lost my “iTunes Library” file). And quite annoying when it meant that the sync would take a very long time to finish at precisely the point when I’m trying to leave home. But a classic Apple move, even in the way Apple haters may mean it.

So OTA synchronization of the whole iOS device, and not just podcasts or music, would be a definite plus, in this perspective. If it does end up coming with iCloud, it’d provide support to the idea that the tethering of iOS devices to desktop computers is really about ensuring that users back up their devices…

…and stay up to date. Firmware updates aren’t that frequent, but they’re probably a major part of the equation for Apple.

But not so much for me. If OTA podcasts were available, I’d still sync my iOS devices on occasion, through whatever means necessary. In fact, were I to use an Android device, a backup app would be essential, to me. So still not much dreaming from the backup aspect of iCloud.

Although… Sync is much broader than preventing device-specific data loss and making sure your device has the latest firmware.

For one thing, it does encompass some of the aforementioned OTA functionalities in MobileMe. Useful, but still not dreamworthy.

We get a bit closer to a “dream come true” if we talk about Xmarks, a bookmark-sync service originally meant for Firefox.  Sure, it sounds incredibly prosaic. But OTA bookmarks would open up a wide range of possibilities. This is about a qualitative difference from going OTA. In the case of backups, it’s about avoiding an annoyance but, arguably, it’s not really about changing something major about our behaviour. (Then again, maybe it is, with people who don’t back their devices up.) Point is, with something as simple as bookmarks, OTA is “disruptive”. At least, it gets me to daydream. One reason is that:

…no matter how fundamental they have been for the Web, links and bookmarks have yet to find their full value.

Hmm… Ok, perhaps a bit hyperbolic… So let me rephrase…

There’s still a lot to be done with URLs and, as simple as they are, I love thinking about links. Maybe I’m just obsessed with URLs.

As it so happens, I have a full list of thoughts about “link processing” and I’ve already blogged about related topics (on more than one occasion, in different contexts, going back to relatively early blogposts). And I even think social science can help.

I mean, think about it! There’s so much you can do, with links! Much of it is obvious, but I’d argue, rarely discussed. For instance, it’s very clear that we can post links pretty much anywhere. Doing so, we’re sharing their “content”. (In a semiotic sense, links are indices. I wish we can move from the “semantic Web” to the “semiotic Web”. But that’s another issue.) Sharing a link is the basic act of the social Web. It’s so obvious and frequent that it seems not to require discussion”.

Another obvious thing about links: we can measure the number of times they’re followed. In 2011, more than thirty years after hypertext has been introduced as a stable concept, much of the Web’s finances still relies on “clickthroughs”. Seems important.

And there’s a lot of processing which can be done with URLs: shortening them, adding them to “to do” lists, checking them for validity, keeping them in link libraries, archiving their “content”, showing them as external or internal links, preventing them from “rotting away”, showing the wordcount or reading time of the item they “target”, display them as QR codes, abuse them, etc.

As you can notice, it’s easy to get me on a tangent simply thinking about URLs. What’s this have t’do with iCloud, you ask? Probably not much, in terms of the actual service which will be announced at Moscone. But I’ve been dreaming about iCloud as a way to integrate Diigo, Instapaper, Delicious, reddit, digg, Slashdot, StumbleUpon, Spurl, The NethernetXmarks

Hey, I told you I was dreaming! Something as simple as managing, processing, sharing, and archiving links in iCloud could lead to just about anything, in my imagination.

And speaking of Xmarks… It’s now owned by Lastpass, a company which focus on password management. IMHO, some Lastpass-like features could make their way in diverse products, including iCloud. Is this far-fetched? Possibly. But secure handling of passwords can be a major issue in both of Apple’s new operating systems (Mac OS X Lion and iOS5). From “keychains” to SSO, there’s a lot of work to be done which relates to password management, in my mind.

Which leads me to think about authentication in general and the rumours about “deep Twitter integration in iOS 5”. (Not directly related to iCloud, but who knows?) Again, something which can send me (and others) on drift-off moments. What if this integration suddenly made iOS devices more useful in terms of social networking services? Something to ponder, if one has a propensity for pondering.

At the same time, given the relative lack of activity on iTunes Ping, I wouldn’t bet on Twitter integration having that major an impact by itself. Not unlike Google, Apple has a hard time making a mark on the social Web. Now, if Twitter integration does connect to everything else Apple does, it could lead to interesting things. A full-fledged online identity? Access to contacts for not only messaging and photo sharing but for collaboration, group management, and media sharing? Not betting on any of this, but it could be fun. Again, not specific to iCloud, but quite related to “The Cloud”. If Twitter integration is deep enough, in iOS 5, it’d be possible to use iOS devices for “cloud computing”, getting further into the “post-PC era”.

An iCloud feature which is expected by several people, is something like an OTA version of the “iTunes file sharing” feature in iOS. Several apps (especially Apple’s own apps) use iTunes and a USB cable to share files. It was a welcome addition to iTunes 9.1 but it’s rather inconvenient. So many other apps rely on Dropbox for file sharing.

Which leads me to dream about iCloud as a replacement for Dropbox. Sounds extremely unlikely that it’ll have the full Dropbox feature set, especially if one thinks about the “Pro 50” and “Pro 100” plans on Dropbox. But I dream of the day when Apple’s iDisk will compete with Dropbox. Not that I’m convinced it ever will. But it’d make Apple’s devices all the more useful if it did.

Something similar, which isn’t frequently discussed directly, in connection with iCloud rumours, but which would rock: Mozy– or Carbonite-style backup, for Mac OS X machines. Sounds very unlikely that Apple will ever offer something like this but, as crazy as it may sound, the connection between Time Capsule and iCloud would be great if it went that far. From a user’s perspective, the similarities between Time Machine backup and “backing up in the cloud” (à la Mozy/Carbonite) are quite obvious. The advantages of both are clear. And while no hardware announcement is supposed to make its way to the WWDC 2011 keynote, I’d give the Time Capsule some consideration if it provided me with the equivalent of what I currently have with Mozy. Not to mention that Mozy has already sparked some drift-off moments, in me, before they announced their new plans. What if I could have a single service which combines features from Mozy, Time Machine, Dropbox, and YouSendIt?

I even think about the possibilities in terms of web hosting. As it stands, MobileMe does allow for some Web publishing through the iWeb application in its iLife suite. But iWeb has never been a major effort for Apple and it hasn’t been seen a significant update in quite a while. What if iCloud could become a true webhost just like, say… iWeb.com? (Semi-disclaimer: I won a free account with iWeb.com, last Fall, and I host some sites there. I also know some of the people who work there…)

Yet again, I don’t expect this to happen. It’s not speculation, on my part. It’s a daydream.

The reason this makes me dream is that I find all these things to be related and I wish they were integrated more seamlessly. Something about which Apple haters may not care much is the type of integration represented by iTunes. As clunky as iTunes may be, in some respects, it’s quite a success in terms of integrating a lot of different things. In fact, it probably overextended its reach a bit too much and we need to replace it. Apple needs to replace iTunes and we should also replace iTunes in our lives.

Like Gruber, I end up thinking about iCloud in relation to iTunes more than in relation to MobileMe. But I also dream about the ideal cloud service, which would not only sync and backup files between iOS devices, hundreds of millions of iTunes store accounts, and Macs, but replace several of the services for which I’m paying monthly fees.

Here’s to dreaming…

Other parts of this crazy, iCloud-infused daydream, in notes form:

Installing BuddyPress on a Webhost

[Jump here for more technical details.]

A few months ago, I installed BuddyPress on my Mac to try it out. It was a bit of an involved process, so I documented it:

WordPress MU, BuddyPress, and bbPress on Local Machine « Disparate.

More recently, I decided to get a webhost. Both to run some tests and, eventually, to build something useful. BuddyPress seems like a good way to go at it, especially since it’s improved a lot, in the past several months.

In fact, the installation process is much simpler, now, and I ran into some difficulties because I was following my own instructions (though adapting the process to my webhost). So a new blogpost may be in order. My previous one was very (possibly too) detailed. This one is much simpler, technically.

One thing to make clear is that BuddyPress is a set of plugins meant for WordPress µ (“WordPress MU,” “WPMU,” “WPµ”), the multi-user version of the WordPress blogging platform. BP is meant as a way to make WPµ more “social,” with such useful features as flexible profiles, user-to-user relationships, and forums (through bbPress, yet another one of those independent projects based on WordPress).

While BuddyPress depends on WPµ and does follow a blogging logic, I’m thinking about it as a social platform. Once I build it into something practical, I’ll probably use the blogging features but, in a way, it’s more of a tool to engage people in online social activities. BuddyPress probably doesn’t work as a way to “build a community” from scratch. But I think it can be quite useful as a way to engage members of an existing community, even if this engagement follows a blogger’s version of a Pareto distribution (which, hopefully, is dissociated from elitist principles).

But I digress, of course. This blogpost is more about the practical issue of adding a BuddyPress installation to a webhost.

Webhosts have come a long way, recently. Especially in terms of shared webhosting focused on LAMP (or PHP/MySQL, more specifically) for blogs and content-management. I don’t have any data on this, but it seems to me that a lot of people these days are relying on third-party webhosts instead of relying on their own servers when they want to build on their own blogging and content-management platforms. Of course, there’s a lot more people who prefer to use preexisting blog and content-management systems. For instance, it seems that there are more bloggers on WordPress.com than on other WordPress installations. And WP.com blogs probably represent a small number of people in comparison to the number of people who visit these blogs. So, in a way, those who run their own WordPress installations are a minority in the group of active WordPress bloggers which, itself, is a minority of blog visitors. Again, let’s hope this “power distribution” not a basis for elite theory!

Yes, another digression. I did tell you to skip, if you wanted the technical details!

I became part of the “self-hosted WordPress” community through a project on which I started work during the summer. It’s a website for an academic organization and I’m acting as the organization’s “Web Guru” (no, I didn’t choose the title). The site was already based on WordPress but I was rebuilding much of it in collaboration with the then-current “Digital Content Editor.” Through this project, I got to learn a lot about WordPress, themes, PHP, CSS, etc. And it was my first experience using a cPanel- (and Fantastico-)enabled webhost (BlueHost, at the time). It’s also how I decided to install WordPress on my local machine and did some amount of work from that machine.

But the local installation wasn’t an ideal solution for two reasons: a) I had to be in front of that local machine to work on this project; and b) it was much harder to show the results to the person with whom I was collaborating.

So, in the Fall, I decided to get my own staging server. After a few quick searches, I decided HostGator, partly because it was available on a monthly basis. Since this staging server was meant as a temporary solution, HG was close to ideal. It was easy to set up as a PayPal “subscription,” wasn’t that expensive (9$/month), had adequate support, and included everything that I needed at that point to install a current version of WordPress and play with theme files (after importing content from the original site). I’m really glad I made that decision because it made a number of things easier, including working from different computers, and sending links to get feedback.

While monthly HostGator fees were reasonable, it was still a more expensive proposition than what I had in mind for a longer-term solution. So, recently, a few weeks after releasing the new version of the organization’s website, I decided to cancel my HostGator subscription. A decision I made without any regret or bad feeling. HostGator was good to me. It’s just that I didn’t have any reason to keep that account or to do anything major with the domain name I was using on HG.

Though only a few weeks elapsed since I canceled that account, I didn’t immediately set out to transition to a new webhost. I didn’t go from HostGator to another webhost.

But having my own webhost still remained at the back of my mind as something which might be useful. For instance, while not really making a staging server necessary, a new phase in the academic website project brought up a sandboxing idea. Also, I went to a “WordPress Montreal” meeting and got to think about further WordPress development/deployment, including using BuddyPress for my own needs (both as my own project and as a way to build my own knowledge of the platform) instead of it being part of an organization’s project. I was also thinking about other interesting platforms which necessitate a webhost.

(More on these other platforms at a later point in time. Bottom line is, I’m happy with the prospects.)

So I wanted a new webhost. I set out to do some comparison shopping, as I’m wont to do. In my (allegedly limited) experience, finding the ideal webhost is particularly difficult. For one thing, search results are cluttered with a variety of “unuseful” things such as rants, advertising, and limited comparisons. And it’s actually not that easy to give a new webhost a try. For one thing, these hosting companies don’t necessarily have the most liberal refund policies you could imagine. And, switching a domain name between different hosts and registrars is a complicated process through which a name may remain “hostage.” Had I realized what was involved, I might have used a domain name to which I have no attachment or actually eschewed the whole domain transition and just try the webhost without a dedicated domain name.

Doh!
Live and learn. I sure do. Loving almost every minute of it.

At any rate, I had a relatively hard time finding my webhost.

I really didn’t need “bells and whistles.” For instance, all the AdSense, shopping cart, and other business-oriented features which seem to be publicized by most webhosting companies have no interest, to me.

I didn’t even care so much about absolute degree of reliability or speed. What I’m to do with this host is fairly basic stuff. The core idea is to use my own host to bypass some limitations. For instance, WordPress.com doesn’t allow for plugins yet most of the WordPress fun has to do with plugins.

I did want an “unlimited” host, as much as possible. Not because expect to have huge resource needs but I just didn’t want to have to monitor bandwidth.

I thought that my needs would be basic enough that any cPanel-enabled webhost would fit. As much as I could see, I needed FTP access to something which had PHP 5 and MySQL 5. I expected to install things myself, without use of the webhost’s scripts but I also thought the host would have some useful scripts. Although I had already registered the domain I wanted to use (through Name.com), I thought it might be useful to have a free domain in the webhosting package. Not that domain names are expensive, it’s more of a matter of convenience in terms of payment or setup.

I ended up with FatCow. But, honestly, I’d probably go with a different host if I were to start over (which I may do with another project).

I paid 88$ for two years of “unlimited” hosting, which is quite reasonable. And, on paper, FatCow has everything I need (and I bunch of things I don’t need). The missing parts aren’t anything major but have to do with minor annoyances. In other words, no real deal-breaker, here. But there’s a few things I wish I had realized before I committed on FatCow with a domain name I actually want to use.

Something which was almost a deal-breaker for me is the fact that FatCow requires payment for any additional subdomain. And these aren’t cheap: the minimum is 5$/month for five subdomains, up to 25$/month for unlimited subdomains! Even at a “regular” price of 88$/year for the basic webhosting plan, the “unlimited subdomains” feature (included in some webhosting plans elsewhere) is more than three times more expensive than the core plan.

As I don’t absolutely need extra subdomains, this is mostly a minor irritant. But it’s one reason I’ll probably be using another webhost for other projects.

Other issues with FatCow are probably not enough to motivate a switch.

For instance, the PHP version installed on FatCow (5.2.1) is a few minor releases behind the one needed by some interesting web applications. No biggie, especially if PHP is updated in a relatively reasonable timeframe. But still makes for a slight frustration.

The MySQL version seems recent enough, but it uses non-standard tools to manage it, which makes for some confusion. Attempting to create some MySQL databases with obvious names (say “wordpress”) fails because the database allegedly exists (even though it doesn’t show up in the MySQL administration). In the same vein, the URL of the MySQL is <username>.fatcowmysql.com instead of localhost as most installers seem to expect. Easy to handle once you realize it, but it makes for some confusion.

In terms of Fantastico-like simplified installation of webapps, FatCow uses InstallCentral, which looks like it might be its own Fantastico replacement. InstallCentral is decent enough as an installation tool and FatCow does provide for some of the most popular blog and CMS platforms. But, in some cases, the application version installed by FatCow is old enough (2005!)  that it requires multiple upgrades to get to a current version. Compared to other installation tools, FatCow’s InstallCentral doesn’t seem really efficient at keeping track of installed and released versions.

Something which is partly a neat feature and partly a potential issue is the way FatCow handles Apache-related security. This isn’t something which is so clear to me, so I might be wrong.

Accounts on both BlueHost and HostGator include a public_html directory where all sorts of things go, especially if they’re related to publicly-accessible content. This directory serves as the website’s root, so one expects content to be available there. The “index.html” or “index.php” file in this directory serves as the website’s frontpage. It’s fairly obvious, but it does require that one would understand a few things about webservers. FatCow doesn’t seem to create a public_html directory in a user’s server space. Or, more accurately, it seems that the root directory (aka ‘/’) is in fact public_html. In this sense, a user doesn’t have to think about which directory to use to share things on the Web. But it also means that some higher-level directories aren’t available. I’ve already run into some issues with this and I’ll probably be looking for a workaround. I’m assuming there’s one. But it’s sometimes easier to use generally-applicable advice than to find a custom solution.

Further, in terms of access control… It seems that webapps typically make use of diverse directories and .htaccess files to manage some forms of access controls. Unix-style file permissions are also involved but the kind of access needed for a web app is somewhat different from the “User/Group/All” of Unix filesystems. AFAICT, FatCow does support those .htaccess files. But it has its own tools for building them. That can be a neat feature, as it makes it easier, for instance, to password-protect some directories. But it could also be the source of some confusion.

There are other issues I have with FatCow, but it’s probably enough for now.

So… On to the installation process… 😉

It only takes a few minutes and is rather straightforward. This is the most verbose version of that process you could imagine…

Surprised? 😎

Disclaimer: I’m mostly documenting how I did it and there are some things about which I’m unclear. So it may not work for you. If it doesn’t, I may be able to help but I provide no guarantee that I will. I’m an anthropologist, not a Web development expert.

As always, YMMV.

A few instructions here are specific to FatCow, but the general process is probably valid on other hosts.

I’m presenting things in a sequence which should make sense. I used a slightly different order myself, but I think this one should still work. (If it doesn’t, drop me a comment!)

In these instructions, straight quotes (“”) are used to isolate elements from the rest of the text. They shouldn’t be typed or pasted.

I use “example.com” to refer to the domain on which the installation is done. In my case, it’s the domain name I transfered to FatCow from another registrar but it could probably be done without a dedicated domain (in which case it would be “<username>.fatcow.com” where “<username>” is your FatCow username).

I started with creating a MySQL database for WordPress MU. FatCow does have phpMyAdmin but the default tool in the cPanel is labeled “Manage MySQL.” It’s slightly easier to use for creating new databases than phpMyAdmin because it creates the database and initial user (with confirmed password) in a single, easy-to-understand dialog box.

So I created that new database, user, and password, noting down this information. Since that password appears in clear text at some point and can easily be changed through the same interface, I used one which was easy to remember but wasn’t one I use elsewhere.
Then, I dowloaded the following files to my local machine in order to upload them to my FatCow server space. The upload can be done through either FTP or FatCow’s FileManager. I tend to prefer FTP (via CyberDuck on the Mac or FileZilla on PC). But the FileManager does allow for easy uploads.
(Wish it could be more direct, using the HTTP links directly instead of downloading to upload. But I haven’t found a way to do it through either FTP or the FileManager.)
At any rate, here are the four files I transfered to my FatCow space, using .zip when there’s a choice (the .tar.gz “tarball” versions also work but require a couple of extra steps).
  1. WordPress MU (wordpress-mu-2.9.1.1.zip, in my case)
  2. Buddymatic (buddymatic.0.9.6.3.1.zip, in my case)
  3. EarlyMorning (only one version, it seems)
  4. EarlyMorning-BP (only one version, it seems)

Only the WordPress MU archive is needed to install BuddyPress. The last three files are needed for EarlyMorning, a BuddyPress theme that I found particularly neat. It’s perfectly possible to install BuddyPress without this specific theme. (Although, doing so, you need to install a BuddyPress-compatible theme, if only by moving some folders to make the default theme available, as I explained in point 15 in that previous tutorial.) Buddymatic itself is a theme framework which includes some child themes, so you don’t need to install EarlyMorning. But installing it is easy enough that I’m adding instructions related to that theme.

These files can be uploaded anywhere in my FatCow space. I uploaded them to a kind of test/upload directory, just to make it clear, for me.

A major FatCow idiosyncrasy is its FileManager (actually called “FileManager Beta” in the documentation but showing up as “FileManager” in the cPanel). From my experience with both BlueHost and HostGator (two well-known webhosting companies), I can say that FC’s FileManager is quite limited. One thing it doesn’t do is uncompress archives. So I have to resort to the “Archive Gateway,” which is surprisingly slow and cumbersome.

At any rate, I used that Archive Gateway to uncompress the four files. WordPress µ first (in the root directory or “/”), then both Buddymatic and EarlyMorning in “/wordpress-mu/wp-content/themes” (you can chose the output directory for zip and tar files), and finally EarlyMorning-BP (anywhere, individual files are moved later). To uncompress each file, select it in the dropdown menu (it can be located in any subdirectory, Archive Gateway looks everywhere), add the output directory in the appropriate field in the case of Buddymatic or EarlyMorning, and press “Extract/Uncompress”. Wait to see a message (in green) at the top of the window saying that the file has been uncompressed successfully.

Then, in the FileManager, the contents of the EarlyMorning-BP directory have to be moved to “/wordpress-mu/wp-content/themes/earlymorning”. (Thought they could be uncompressed there directly, but it created an extra folder.) To move those files in the FileManager, I browse to that earlymorning-bp directory, click on the checkbox to select all, click on the “Move” button (fourth from right, marked with a blue folder), and add the output path: /wordpress-mu/wp-content/themes/earlymorning

These files are tweaks to make the EarlyMorning theme work with BuddyPress.

Then, I had to change two files, through the FileManager (it could also be done with an FTP client).

One change is to EarlyMorning’s style.css:

/wordpress-mu/wp-content/themes/earlymorning/style.css

There, “Template: thematic” has to be changed to “Template: buddymatic” (so, “the” should be changed to “buddy”).

That change is needed because the EarlyMorning theme is a child theme of the “Thematic” WordPress parent theme. Buddymatic is a BuddyPress-savvy version of Thematic and this changes the child-parent relation from Thematic to Buddymatic.

The other change is in the Buddymatic “extensions”:

/wordpress-mu/wp-content/themes/buddymatic/library/extensions/buddypress_extensions.php

There, on line 39, “$bp->root_domain” should be changed to “bp_root_domain()”.

This change is needed because of something I’d consider a bug but that a commenter on another blog was kind enough to troubleshoot. Without this modification, the login button in BuddyPress wasn’t working because it was going to the website’s root (example.com/wp-login.php) instead of the WPµ installation (example.com/wordpress-mu/wp-login.php). I was quite happy to find this workaround but I’m not completely clear on the reason it works.

Then, something I did which might not be needed is to rename the “wordpress-mu” directory. Without that change, the BuddyPress installation would sit at “example.com/wordpress-mu,” which seems a bit cryptic for users. In my mind, “example.com/<name>,” where “<name>” is something meaningful like “social” or “community” works well enough for my needs. Because FatCow charges for subdomains, the “<name>.example.com” option would be costly.

(Of course, WPµ and BuddyPress could be installed in the site’s root and the frontpage for “example.com” could be the BuddyPress frontpage. But since I think of BuddyPress as an add-on to a more complete site, it seems better to have it as a level lower in the site’s hierarchy.)

With all of this done, the actual WPµ installation process can begin.

The first thing is to browse to that directory in which WPµ resides, either “example.com/wordpress-mu” or “example.com/<name>” with the “<name>” you chose. You’re then presented with the WordPress µ Installation screen.

Since FatCow charges for subdomains, it’s important to choose the following option: “Sub-directories (like example.com/blog1).” It’s actually by selecting the other option that I realized that FatCow restricted subdomains.

The Database Name, username and password are the ones you created initially with Manage MySQL. If you forgot that password, you can actually change it with that same tool.

An important FatCow-specific point, here, is that “Database Host” should be “<username>.fatcowmysql.com” (where “<username>” is your FatCow username). In my experience, other webhosts use “localhost” and WPµ defaults to that.

You’re asked to give a name to your blog. In a way, though, if you think of BuddyPress as more of a platform than a blogging system, that name should be rather general. As you’re installing “WordPress Multi-User,” you’ll be able to create many blogs with more specific names, if you want. But the name you’re entering here is for BuddyPress as a whole. As with <name> in “example.com/<name>” (instead of “example.com/wordpress-mu”), it’s a matter of personal opinion.

Something I noticed with the EarlyMorning theme is that it’s a good idea to keep the main blog’s name relatively short. I used thirteen characters and it seemed to fit quite well.

Once you’re done filling in this page, WPµ is installed in a flash. You’re then presented with some information about your installation. It’s probably a good idea to note down some of that information, including the full paths to your installation and the administrator’s password.

But the first thing you should do, as soon as you log in with “admin” as username and the password provided, is probably to the change that administrator password. (In fact, it seems that a frequent advice in the WordPress community is to create a new administrator user account, with a different username than “admin,” and delete the “admin” account. Given some security issues with WordPress in the past, it seems like a good piece of advice. But I won’t describe it here. I did do it in my installation and it’s quite easy to do in WPµ.

Then, you should probably enable plugins here:

example.com/<name>/wp-admin/wpmu-options.php#menu

(From what I understand, it might be possible to install BuddyPress without enabling plugins, since you’re logged in as the administrator, but it still makes sense to enable them and it happens to be what I did.)

You can also change a few other options, but these can be set at another point.

One option which is probably useful, is this one:

Allow new registrations Disabled
Enabled. Blogs and user accounts can be created.
Only user account can be created.

Obviously, it’s not necessary. But in the interest of opening up the BuddyPress to the wider world without worrying too much about a proliferation of blogs, it might make sense. You may end up with some fake user accounts, but that shouldn’t be a difficult problem to solve.

Now comes the installation of the BuddyPress plugin itself. You can do so by going here:

example.com/<name>/wp-admin/plugin-install.php

And do a search for “BuddyPress” as a term. The plugin you want was authored by “The BuddyPress Community.” (In my case, version 1.1.3.) Click the “Install” link to bring up the installation dialog, then click “Install Now” to actually install the plugin.

Once the install is done, click the “Activate” link to complete the basic BuddyPress installation.

You now have a working installation of BuddyPress but the BuddyPress-savvy EarlyMorning isn’t enabled. So you need to go to “example.com/<name>/wp-admin/wpmu-themes.php” to enable both Buddymatic and EarlyMorning. You should then go to “example.com/<name>/wp-admin/themes.php” to activate the EarlyMorning theme.

Something which tripped me up because it’s now much easier than before is that forums (provided through bbPress) are now, literally, a one-click install. If you go here:

example.com/<name>/wp-admin/admin.php?page=bb-forums-setup

You can set up a new bbPress install (“Set up a new bbPress installation”) and everything will work wonderfully in terms of having forums fully integrated in BuddyPress. It’s so seamless that I wasn’t completely sure it had worked.

Besides this, I’d advise that you set up a few widgets for the BuddyPress frontpage. You do so through an easy-to-use drag-and-drop interface here:

example.com/<name>/wp-admin/widgets.php

I especially advise you to add the Twitter RSS widget because it seems to me to fit right in. If I’m not mistaken, the EarlyMorning theme contains specific elements to make this widget look good.

After that, you can just have fun with your new BuddyPress installation. The first thing I did was to register a new user. To do so, I logged out of my admin account,  and clicked on the Sign Up button. Since I “allow new registrations,” it’s a very simple process. In fact, this is one place where I think that BuddyPress shines. Something I didn’t explain is that you can add a series of fields for that registration and the user profile which goes with it.

The whole process really shouldn’t take very long. In fact, the longest parts have probably to do with waiting for Archive Gateway.

The rest is “merely” to get people involved in your BuddyPress installation. It can happen relatively easily, if you already have a group of people trying to do things together online. But it can be much more complicated than any software installation process… 😉

Personal Devices

Still thinking about touch devices, such as the iPod touch and the rumoured “Apple Tablet.”

Thinking out loud. Rambling even more crazily than usual.

Something important about those devices is the need for a real “Personal Digital Assistant.” I put PDAs as a keyword for my previous post because I do use the iPod touch like I was using my PalmOS and even NewtonOS devices. But there’s more to it than that, especially if you think about cloud computing and speech technologies.
I mentioned speech recognition in that previous post. SR tends to be a pipedream of the computing world. Despite all the hopes put into realtime dictation, it still hasn’t taken off in a big way. One reason might be that it’s still somewhat cumbersome to use, in current incarnations. Another reason is that it’s relatively expensive as a standalone product which requires some getting used to. But I get the impression that another set of reasons has to do with the fact that it’s mostly fitting on a personal device. Partly because it needs to be trained. But also because voice itself is a personal thing.

Cloud computing also takes a new meaning with a truly personal device. It’s no surprise that there are so many offerings with some sort of cloud computing feature in the App Store. Not only do Apple’s touch devices have limited file storage space but the notion of accessing your files in the cloud go well with a personal device.
So, what’s the optimal personal device? I’d say that Apple’s touch devices are getting close to it but that there’s room for improvement.

Some perspective…

Originally, the PC was supposed to be a “personal” computer. But the distinction was mostly with mainframes. PCs may be owned by a given person, but they’re not so tied to that person, especially given the fact that they’re often used in a single context (office or home, say). A given desktop PC can be important in someone’s life, but it’s not always present like a personal device should be. What’s funny is that “personal computers” became somewhat more “personal” with the ‘Net and networking in general. Each computer had a name, etc. But those machines remained somewhat impersonal. In many cases, even when there are multiple profiles on the same machine, it’s not so safe to assume who the current user of the machine is at any given point.

On paper, the laptop could have been that “personal device” I’m thinking about. People may share a desktop computer but they usually don’t share their laptop, unless it’s mostly used like a desktop computer. The laptop being relatively easy to carry, it’s common for people to bring one back and forth between different sites: work, home, café, school… Sounds tautological, as this is what laptops are supposed to be. But the point I’m thinking about is that these are still distinct sites where some sort of desk or table is usually available. People may use laptops on their actual laps, but the form factor is still closer to a portable desktop computer than to the kind of personal device I have in mind.

Then, we can go all the way to “wearable computing.” There’s been some hype about wearable computers but it has yet to really be part of our daily lives. Partly for technical reasons but partly because it may not really be what people need.

The original PDAs (especially those on NewtonOS and PalmOS) were getting closer to what people might need, as personal devices. The term “personal digital assistant” seemed to encapsulate what was needed. But, for several reasons, PDAs have been having a hard time. Maybe there wasn’t a killer app for PDAs, outside of “vertical markets.” Maybe the stylus was the problem. Maybe the screen size and bulk of the device weren’t getting to the exact points where people needed them. I was still using a PalmOS device in mid-2008 and it felt like I was among the last PDA users.
One point was that PDAs had been replaced by “smartphones.” After a certain point, most devices running PalmOS were actually phones. RIM’s Blackberry succeeded in a certain niche (let’s use the vague term “professionals”) and is even beginning to expand out of it. And devices using other OSes have had their importance. It may not have been the revolution some readers of Pen Computing might have expected, but the smartphone has been a more successful “personal device” than the original PDAs.

It’s easy to broaden our focus from smartphones and think about cellphones in general. If the 3.3B figure can be trusted, cellphones may already be outnumbering desktop and laptop computers by 3:1. And cellphones really are personal. You bring them everywhere; you don’t need any kind of surface to use them; phone communication actually does seem to be a killer app, even after all this time; there are cellphones in just about any price range; cellphone carriers outside of Canada and the US are offering plans which are relatively reasonable; despite some variation, cellphones are rather similar from one manufacturer to the next… In short, cellphones already were personal devices, even before the smartphone category really emerged.

What did smartphones add? Basically, a few PDA/PIM features and some form of Internet access or, at least, some form of email. “Whoa! Impressive!”

Actually, some PIM features were already available on most cellphones and Internet access from a smartphone is in continuity with SMS and data on regular cellphones.

What did Apple’s touch devices add which was so compelling? Maybe not so much, apart from the multitouch interface, a few games, and integration with desktop/laptop computers. Even then, most of these changes were an evolution over the basic smartphone concept. Still, it seems to have worked as a way to open up personal devices to some new dimensions. People now use the iPhone (or some other multitouch smartphone which came out after the iPhone) as a single device to do all sorts of things. Around the World, multitouch smartphones are still much further from being ubiquitous than are cellphones in general. But we could say that these devices have brought the personal device idea to a new phase. At least, one can say that they’re much more exciting than the other personal computing devices.

But what’s next for personal devices?

Any set of buzzphrases. Cloud computing, speech recognition, social media…

These things can all come together, now. The “cloud” is mostly ready and personal devices make cloud computing more interesting because they’re “always-on,” are almost-wearable, have batteries lasting just about long enough, already serve to keep some important personal data, and are usually single-user.

Speech recognition could go well with those voice-enabled personal devices. For one thing, they already have sound input. And, by this time, people are used to seeing others “talk to themselves” as cellphones are so common. Plus, voice recognition is already understood as a kind of security feature. And, despite their popularity, these devices could use a further killer app, especially in terms of text entry and processing. Some of these devices already have voice control and it’s not so much of a stretch to imagine them having what’s needed for continuous speech recognition.

In terms of getting things onto the device, I’m also thinking about such editing features as a universal rich-text editor (à la TinyMCE), predictive text, macros, better access to calendar/contact data, ubiquitous Web history, multiple pasteboards, data detectors, Automator-like processing, etc. All sorts of things which should come from OS-level features.

“Social media” may seem like too broad a category. In many ways, those devices already take part in social networking, user-generated content, and microblogging, to name a few areas of social media. But what about a unified personal profile based on the device instead of the usual authentication method? Yes, all sorts of security issues. But aren’t people unconcerned about security in the case of social media? Twitter accounts are being hacked left and right yet Twitter doesn’t seem to suffer much. And there could be added security features on a personal device which is meant to really integrate social media. Some current personal devices already work well as a way to keep login credentials to multiple sites. The next step, there, would be to integrate all those social media services into the device itself. We maybe waiting for OpenSocial, OpenID, OAuth, Facebook Connect, Google Connect, and all sorts of APIs to bring us to an easier “social media workflow.” But a personal device could simplify the “social media workflow” even further, with just a few OS-based tweaks.

Unlike my previous, I’m not holding my breath for some specific event which will bring us the ultimate personal device. After all, this is just a new version of my ultimate handheld device blogpost. But, this time, I was focusing on what it means for a device to be “personal.” It’s even more of a drafty draft than my blogposts usually have been ever since I decided to really RERO.

So be it.

Sharing Tool Wishlist

The following is an edited version of a wishlist I had been keeping on the side. The main idea is to define what would be, in my mind, the “ultimate social bookmarking system.” Which, obviously, goes way beyond social bookmarking. In a way, I even conceive of it as the ultimate tool for sharing online content. Yes, it’s that ambitious. Will it ever exist? Probably not. Should it exist? I personally think so. But I may be alone in this. Surely, you’ll tell me that I am indeed alone, which is fine. As long as you share your own wishlist items.

The trigger for my posting this is that someone contacted me, asking for what I’d like in a social bookmarking system. I find this person’s move quite remarkable, as a thoughtful strategy. Not only because this person contacted me directly (almost flattering), but because such a request reveals an approach to listening and responding to people’s needs that I find lacking in some software development circles.

This person’s message served as a prompt for my blogging this, but I’ve been meaning to blog this for a while. In fact, my guess is that I created a first version of this wishlist in 2007 after having it on my mind for a while before that. As such, it represents a type of “diachronic” or “longitudinal” view of social bookmarking and the way it works in the broader scheme of social media.

Which also means that I wrote this before I heard about Google Wave. In fact, I’m still unclear about Google Wave and I’ll need to blog about that. Not that I expect Wave to fulfill all the needs I set up for a sharing tool, but I get the impression that Google is finally putting some cards on the table.

The main part of this post is in outline form. I often think through outlines, especially with such a type of notes. I fully realize that it may not be that clear, as a structure, for other people to understand. Some of these bullet points cover a much broader issue than what they look like. But the overall idea might be fairly obvious to grasp, even if it may sound crazy to other people.

I’m posting this to the benefit of anyone who may wish to build the killer app for social media. Of course, it’s just one man’s opinion. But it’s my entitled opinion.

Concepts

What do we share online?

  • “Link”
  • “Page”
  • Identified content
  • Text
    • Narrative
    • Contact information
    • Event description
  • Contact information
  • Event invitation
  • Image
  • Recording
  • Structured content
  • Snippet
  • Access to semi-private content
  • Site’s entry point

Selective sharing

Private
  • Archiving
  • Cloud access
Individually shared
  • “Check this out”
  • Access to address book
  • Password protection
  • Specialization/expertise
  • Friendship
Group shared
  • Shared interests (SIG)
  • Collaboration (task-based)
Shared through network
  • Define identity in network
  • Semi-public
Public
  • Publishing
  • Processed
  • Reading lists

Notetaking

  • Active reading
  • Anchoring text
  • Ad hoc list of bookmarks
  • “Empty URL”
    • Create container/page
    • Personal notes

Todos

  • To read
  • To blog
  • To share
  • To update
  • Projects
    • GTD
    • Contexts
  • Add to calendar (recognized as event)

Outlining/Mindmapping

  • Manage lists of links
  • Prioritize
  • Easily group

Social aspects of sharing

  • Gift economy
  • Personal interaction
  • Trust
  • Hype
  • Value
  • Customized

Cloud computing

  • Webware
  • “Online disk”
  • Without download
  • Touch devices
  • Edit online

Personal streaming

  • Activities through pages
  • Logging
  • Flesh out personal profile

Tagging

  • “Folksonomy”
  • Enables non-hierarchical structure
  • Semantic fields
  • Related tags
  • Can include hierarchy
  • Tagclouds define concept map

Required Features

Crossplatform, crossbrowser

  • Browser-specific tools
  • Bookmarklets
  • Complete access through cloud
Keyboard shortcuts
  • Quick add (to account)
  • Vote
  • Bookmark all tabs (à la Flock)
  • Quick tags

Related pages

Recommended
  • Based on social graph
  • Based on tags
  • Based on content
  • Based on popularity
  • Pointing to this page

Quickly enter links

  • Add in place (while editing)
  • Similar to “spell as you type”
  • Incremental search
  • Add full link (title, URL, text, metadata)

Archiving

  • Prevent linkrot
  • Prepare for post-processing (offline reading, blogging…)
  • Enable bulk processing
  • Maintain version history
  • Internet Archive

Automatic processing

  • Tags
  • Summary
  • Wordcount
  • Reading time
  • Language(s)
  • Page structure analysis
  • Geotagging
  • Vote

Thread following

  • Blog comments
  • Forum comments
  • Trackbacks
  • Pings

Exporting

All
  • Archiving
  • Prepare for import
  • Maintain hierarchy
Selected
  • Tag
  • Category
  • Recently used
  • Shared
  • Site homepage
  • Blogroll
  • Blogs
Formats
  • Other services
  • HTML
  • RSS
  • OPML
  • Widget
Features
  • Comments
  • Tags
  • Statistics
  • Content

Offline processing

  • Browser-based
  • Device based
  • Offline archiving
  • Include content
  • Synchronization

Microblogging support

  • Laconi.ca/Identi.ca
  • Twitter
  • Ping.fm
  • Jaiku

Fixed/Static URL

  • Prevent linkrot
  • Maintain list for same page
  • Short URLs
  • Automatically generated
  • Expansion on mouseover
  • Statistics

Authentication

  • Use of resources
  • Identify
  • Privacy
  • Unnecessary for basic processing
  • Sticks (no need to login frequently)
  • Access to contacts and social graph
  • Multiple accounts
    • Personal/professional
    • Contexts
    • Group accounts
  • Premium accounts
    • Server space
    • Usage statistics
    • Promotion
  • Support
    • OpenID
      • As group login
    • Google Accounts
    • Facebook Connect
    • OAuth

Integration

  • Web history
  • Notebook
  • Blogging platform
  • Blog editor
  • Microblogging platform
  • Logbook
  • General purpose content editor
  • Toolbar
  • URL shortening
  • Address book
  • Social graph
  • Personal profile
  • Browser
    • Bookmarks
    • History
    • Autocomplete
  • Analytics
  • Email
  • Search
    • Online
    • Offline

Related Tools

  • Diigo
  • WebCitation
  • Ping.fm
  • BackType
  • Facebook share
  • Blog This
  • Link This
  • Share this
  • Digg
  • Plum
  • Spurl
  • CoComments
  • MyBlogLog
  • TwtVite
  • Twistory
  • Windows Live Writer
  • Magnolia
  • Stumble Upon
  • Delicious
  • Google Reader
  • Yahoo Pipes
  • Google Notebook
  • Zoho Notebook
  • Google Browser Sync
  • YouTube
  • Flock
  • Zotero

Relevant Blogposts

Crazy App Idea: Happy Meter

I keep getting ideas for apps I’d like to see on Apple’s App Store for iPod touch and iPhone. This one may sound a bit weird but I think it could be fun. An app where you can record your mood and optionally broadcast it to friends. It could become rather sophisticated, actually. And I think it can have interesting consequences.

The idea mostly comes from Philippe Lemay, a psychologist friend of mine and fellow PDA fan. Haven’t talked to him in a while but I was just thinking about something he did, a number of years ago (in the mid-1990s). As part of an academic project, Philippe helped develop a PDA-based research program whereby subjects would record different things about their state of mind at intervals during the day. Apart from the neatness of the data gathering technique, this whole concept stayed with me. As a non-psychologist, I personally get the strong impression that recording your moods frequently during the day can actually be a very useful thing to do in terms of mental health.

And I really like the PDA angle. Since I think of the App Store as transforming Apple’s touch devices into full-fledged PDAs, the connection is rather strong between Philippe’s work at that time and the current state of App Store development.

Since that project of Philippe’s, a number of things have been going on which might help refine the “happy meter” concept.

One is that “lifecasting” became rather big, especially among certain groups of Netizens (typically younger people, but also many members of geek culture). Though the lifecasting concept applies mostly to video streams, there are connections with many other trends in online culture. The connection with vidcasting specifically (and podcasting generally) is rather obvious. But there are other connections. For instance, with mo-, photo-, or microblogging. Or even with all the “mood” apps on Facebook.

Speaking of Facebook as a platform, I think it meshes especially well with touch devices.

So, “happy meter” could be part of a broader app which does other things: updating Facebook status, posting tweets, broadcasting location, sending personal blogposts, listing scores in a Brain Age type game, etc.

Yet I think the “happy meter” could be useful on its own, as a way to track your own mood. “Turns out, my mood was improving pretty quickly on that day.” “Sounds like I didn’t let things affect me too much despite all sorts of things I was going through.”

As a mood-tracker, the “happy meter” should be extremely efficient. Because it’s easy, I’m thinking of sliders. One main slider for general mood and different sliders for different moods and emotions. It would also be possible to extend the “entry form” on occasion, when the user wants to record more data about their mental state.

Of course, everything would be save automatically and “sent to the cloud” on occasion. There could be a way to selectively broadcast some slider values. The app could conceivably send reminders to the user to update their mood at regular intervals. It could even serve as a “break reminder” feature. Though there are limitations on OSX iPhone in terms of interapplication communication, it’d be even neater if the app were able to record other things happening on the touch device at the same time, such as music which is playing or some apps which have been used.

Now, very obviously, there are lots of privacy issues involved. But what social networking services have taught us is that users can have pretty sophisticated notions of privacy management, if they’re given the chance. For instance, adept Facebook users may seem to indiscrimately post just about everything about themselves but are often very clear about what they want to “let out,” in context. So, clearly, every type of broadcasting should be controlled by the user. No opt-out here.

I know this all sounds crazy. And it all might be a very bad idea. But the thing about letting my mind wander is that it helps me remain happy.

Adobe and "Cloud Computing"

Saw a few things about Adobe’s AIR today, including a New York Times piece describing the “Webtop” play. In that NYT piece, a mention was made of Adobe’s own Buzzword “online word-processor.” Tried it out and, if it’s a sign of things to come, there might be some cool stuff happening for the webware enthusiast.

Buzzword has some niceties over other “online word processors” like Zoho Writer and Google Docs, especially in terms of interface. It does feel right, which makes for a more pleasant writing experience.

One thing I quite like about Buzzword is the list management. It seems more efficient that what is available in desktop word processors (most notably, in Microsoft Word). As a fan of outliners, I think this could even be a deal-maker for me.

I just wonder why it is that nobody’s integrating all of these cloud computing/webware/online productivity apps in an actual workflow. No, not AppleWorks-style “integrated software.” But some cool way to bring content from one online app to another.