Tag Archives: software

Actively Reading: Organic Ideas for Startups

Been using Diigo as a way to annotate online texts. In this case, I was as interested in the tone as in the text itself. At the same time, I kept thinking about things which seem to be missing from Diigo.
Organic Startup Ideas
http://www.paulgraham.com/organic.html

One thing I like about this text is its tone. There’s an honesty, an ingenuity that I find rare in this type of writing.

  • startup ideas
    • The background is important, in terms of the type of ideas about which we’re constructing something.
  • what do you wish someone would make for you?
    • My own itch has to do with Diigo, actually. There’s a lot I wish Diigo would make for me. I may be perceived as an annoyance, but I think my wishlist may lead to something bigger and possibly quite successful.
    • The difference between this question and the “scratch your own itch” principle seems significant, and this distinction may have some implications in terms of success: we’re already talking about others, not just running ideas in our own head.
  • what do you wish someone would make for you?
    • It’s somewhat different from the well-known “scratch your own itch” principle. In this difference might be located something significant. In a way, part of the potential for this version to lead to success comes from the fact that it’s already connected with others, instead of being about running ideas in your own mind.
  • grow organically
    • The core topic of the piece, put in a comparative context. The comparison isn’t the one people tend to make and one may argue about the examples used. But the concept of organic ideas is fascinating and inspiring.
  • you decide, from afar,
    • What we call, in anthropology, the “armchair” approach. Also known as “backbenching.” For this to work, you need to have a deep knowledge of the situation, which is part of the point in this piece. Nice that it’s not demonizing this position but putting it in context.
  • Apple
    was the first type
    • One might argue that it was a hybrid case. Although, it does sound like the very beginnings of Apple weren’t about “thinking from afar.”
  • class of users other than you
    • Since developers are part of a very specific “class” of people, this isn’t insignificant a way to phrase this.
  • They still rely on this principle today, incidentally.
    The iPhone is the phone Steve Jobs wants.
    • Apple tends to be perceived in a different light. According to many people, it’s the “textbook example” of a company where decisions are made without concerns for what people need. “Steve Jobs uses a top-down approach,” “They don’t even use focus groups,” “They don’t let me use their tools the way I want to use them.” But we’re not talking about the same distinction between top-down and bottom-up. Though “organic ideas” seem to imply that it’s a grassroots/bottom-up phenomenon, the core distinction isn’t about the origin of the ideas (from the “top,” in both cases) but on the reasoning behind these ideas.
  • We didn’t need this software ourselves.
    • Sounds partly like a disclaimer but this approach is quite common and “there’s nothing wrong with it.”
  • comparatively old
    • Age and life experience make for an interesting angle. It’s not that this strategy needs people of a specific age to work. It’s that there’s a connection between one’s experience and the way things may pan out.
  • There is no sharp line between the two types of ideas,
    • Those in the “engineering worldview” might go nuts, at this point. I can hear the claims of “hand waving.” But we’re talking about something complex, here, not a merely complicated problem.
  • Apple type
    • One thing to note in the three examples here: they’re all made by pairs of guys. Jobs and Woz, Gates and Allen, Page and Brin. In many cases, the formula might be that one guy (or gal, one wishes) comes up with ideas knowing that the other can implement them. Again, it’s about getting somebody else to build it for you, not about scratching your own itch.
  • Bill Gates was writing something he would use
    • Again, Gates may not be the most obvious example, since he’s mostly known for another approach. It’s not inaccurate to say he was solving his own problem, at the time, but it may not be that convincing as an example.
  • Larry and Sergey when they wrote the first versions of Google.
    • Although, the inception of the original ideas was academic in context. They weren’t solving a search problem or thinking about monetization. They were discovering the power of CitationRank.
  • generally preferable
    • Nicely relativistic.
  • It takes experience
    to predict what other people will want.
    • And possibly a lot more. Interesting that he doesn’t mention empirical data.
  • young founders
    • They sound like a fascinating group to observe. They do wonders when they open up to others, but they seem to have a tendency to impose their worldviews.
  • I’d encourage you to focus initially on organic ideas
    • Now, this advice sounds more like the “scratch your own itch” advocation. But there’s a key difference in that it’s stated as part of a broader process. It’s more of a “walk before you run” or “do your homework” piece of advice, not a “you can’t come up with good ideas if you just think about how people will use your tool.”
  • missing or broken
    • It can cover a lot, but it’s couched in terms of the typical “problem-solving” approach at the centre of the engineering worldview. Since we’re talking about developing tools, it makes sense. But there could be a broader version, admitting for dreams, inspiration, aspiration. Not necessarily of the “what would make you happy?” kind, although there’s a lot to be said about happiness and imagination. You’re brainstorming, here.
  • immediate answers
    • Which might imply that there’s a second step. If you keep asking yourself the same question, you may be able to get a very large number of ideas. The second step could be to prioritize them but I prefer “outlining” as a process: you shuffle things together and you group some ideas to get one which covers several. What’s common between your need for a simpler way to code on the Altair and your values? Why do you care so much about algorithms instead of human encoding?
  • You may need to stand outside yourself a bit to see brokenness
    • Ah, yes! “Taking a step back,” “distancing yourself,” “seeing the forest for the trees”… A core dimension of the ethnographic approach and the need for a back-and-forth between “inside” and “outside.” There’s a reflexive component in this “being an outsider to yourself.” It’s not only psychological, it’s a way to get into the social, which can lead to broader success if it’s indeed not just about scratching your own itch.
  • get used to it and take it for granted
    • That’s enculturation, to you. When you do things a certain way simply because “we’ve always done them that way,” you may not create these organic ideas. But it’s a fine way to do your work. Asking yourself important questions about what’s wrong with your situation works well in terms of getting new ideas. But, sometimes, you need to get some work done.
  • a Facebook
    • Yet another recontextualized example. Zuckerberg wasn’t trying to solve that specific brokenness, as far as we know. But Facebook became part of what it is when Zuck began scratching that itch.
  • organic startup ideas usually don’t
    seem like startup ideas at first
    • Which gets us to the pivotal importance of working with others. Per this article, VCs and “angel investors,” probably. But, in the case of some of cases cited, those we tend to forget, like Paul Allen, Narendra, and the Winklevosses.
  • end up making
    something of value to a lot of people
    • Trial and error, it’s an iterative process. So you must recognize errors quickly and not invest too much effort in a specific brokenness. Part of this requires maturity.
  • something
    other people dismiss as a toy
    • The passage on which Gruber focused and an interesting tidbit. Not that central, come to think of it. But it’s important to note that people’s dismissive attitude may be misled, that “toys” may hide tools, that it’s probably a good idea not to take all feedback to heart…
  • At this point, when someone comes to us with
    something that users like but that we could envision forum trolls
    dismissing as a toy, it makes us especially likely to invest.
  • the best source of organic ones
    • Especially to investors. Potentially self-serving… in a useful way.
  • they’re at the forefront of technology
    • That part I would dispute, actually. Unless we talk about a specific subgroup of young founders and a specific set of tools. Young founders tend to be oblivious to a large field in technology, including social tools.
  • they’re in a position to discover
    valuable types of fixable brokenness first
    • The focus on fixable brokenness makes sense if we’re thinking exclusively through the engineering worldview, but it’s at the centre of some failures like the Google Buzz launch.
  • you still have to work hard
    • Of the “inspiration shouldn’t make use forget perspiration” kind. Makes for a more thoughtful approach than the frequent “all you need to do…” claims.
  • I’d encourage anyone
    starting a startup to become one of its users, however unnatural it
    seems.
    • Not merely an argument for dogfooding. It’s deeper than that. Googloids probably use Google tools but they didn’t actually become users. They’re beta testers with a strong background in troubleshooting. Not the best way to figure out what users really want or how the tool will ultimately fail.
  • It’s hard to compete directly with open source software
    • Open Source as competition isn’t new as a concept, but it takes time to seep in.
  • there has to be some part
    you can charge for
    • The breach through which old-school “business models” enter with little attention paid to everything else. To the extent that much of the whole piece might crumble from pressure built up by the “beancounter” worldview. Good thing he acknowledges it.

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… 😉

Development and Quality: Reply to Agile Diary

Former WiZiQ product manager Vikrama Dhiman responded to one of my tweets with a full-blown blogpost, thereby giving support to Matt Mullenweg‘s point that microblogging goes hand-in-hand with “macroblogging.”

My tweet:

enjoys draft æsthetics yet wishes more developers would release stable products. / adopte certains produits trop rapidement.

Vikrama’s post:

Good Enough Software Does Not Mean Bad Software « Agile Diary, Agile Introduction, Agile Implementation.

My reply:

“To an engineer, good enough means perfect. With an artist, there’s no such thing as perfect.” (Alexander Calder)

Thanks a lot for your kind comments. I’m very happy that my tweet (and status update) triggered this.

A bit of context for my tweet (actually, a post from Ping.fm, meant as a status update, thereby giving support in favour of conscious duplication, «n’en déplaise aux partisans de l’action contre la duplication».)

I’ve been thinking about what I call the “draft æsthetics.” In fact, I did a podcast episode about it. My description of that episode was:

Sometimes, there is such a thing as “Good Enough.”

Though I didn’t emphasize the “sometimes” part in that podcast episode, it was an important part of what I wanted to say. In fact, my intention wasn’t to defend draft æsthetics but to note that there seems to be a tendency toward this æsthetic mode. I do situate myself within that mode in many things I do, but it really doesn’t mean that this mode should be the exclusive one used in any context.

That aforequoted tweet was thus a response to my podcast episode on draft æsthetics. “Yes, ‘good enough’ may work, sometimes. But it needs not be applied in all cases.”

As I often get into convoluted discussions with people who seem to think that I condone or defend a position because I take it for myself, the main thing I’d say there is that I’m not only a relativist but I cherish nuance. In other words, my tweet was a way to qualify the core statement I was talking about in my podcast episode (that “good enough” exists, at times). And that statement isn’t necessarily my own. I notice a pattern by which this statement seems to be held as accurate by people. I share that opinion, but it’s not a strongly held belief of mine.

Of course, I digress…

So, the tweet which motivated Vikrama had to do with my approach to “good enough.” In this case, I tend to think about writing but in view of Eric S. Raymond’s approach to “Release Early, Release Often” (RERO). So there is a connection to software development and geek culture. But I think of “good enough” in a broader sense.

Disclaimer: I am not a coder.

The Calder quote remained in my head, after it was mentioned by a colleague who had read it in a local newspaper. One reason it struck me is that I spend some time thinking about artists and engineers, especially in social terms. I spend some time hanging out with engineers but I tend to be more on the “artist” side of what I perceive to be an axis of attitudes found in some social contexts. I do get a fair deal of flack for some of my comments on this characterization and it should be clear that it isn’t meant to imply any evaluation of individuals. But, as a model, the artist and engineer distinction seems to work, for me. In a way, it seems more useful than the distinction between science and art.

An engineer friend with whom I discussed this kind of distinction was quick to point out that, to him, there’s no such thing as “good enough.” He was also quick to point out that engineers can be creative and so on. But the point isn’t to exclude engineers from artistic endeavours. It’s to describe differences in modes of thought, ways of knowing, approaches to reality. And the way these are perceived socially. We could do a simple exercise with terms like “troubleshooting” and “emotional” to be assigned to the two broad categories of “engineer” and “artist.” Chances are that clear patterns would emerge. Of course, many concepts are as important to both sides (“intelligence,” “innovation”…) and they may also be telling. But dichotomies have heuristic value.

Now, to go back to software development, the focus in Vikrama’s Agile Diary post…

What pushed me to post my status update and tweet is in fact related to software development. Contrary to what Vikrama presumes, it wasn’t about a Web application. And it wasn’t even about a single thing. But it did have to do with firmware development and with software documentation.

The first case is that of my Fonera 2.0n router. Bought it in early November and I wasn’t able to connect to its private signal using my iPod touch. I could connect to the router using the public signal, but that required frequent authentication, as annoying as with ISF. Since my iPod touch is my main WiFi device, this issue made my Fonera 2.0n experience rather frustrating.

Of course, I’ve been contacting Fon‘s tech support. As is often the case, that experience was itself quite frustrating. I was told to reset my touch’s network settings which forced me to reauthenticate my touch on a number of networks I access regularly and only solved the problem temporarily. The same tech support person (or, at least, somebody using the same name) had me repeat the same description several times in the same email message. Perhaps unsurprisingly, I was also told to use third-party software which had nothing to do with my issue. All in all, your typical tech support experience.

But my tweet wasn’t really about tech support. It was about the product. Thougb I find the overall concept behind the Fonera 2.0n router very interesting, its implementation seems to me to be lacking. In fact, it reminds me of several FLOSS development projects that I’ve been observing and, to an extent, benefitting from.

This is rapidly transforming into a rant I’ve had in my “to blog” list for a while about “thinking outside the geek box.” I’ll try to resist the temptation, for now. But I can mention a blog thread which has been on my mind, in terms of this issue.

Firefox 3 is Still a Memory Hog — The NeoSmart Files.

The blogpost refers to a situation in which, according to at least some users (including the blogpost’s author), Firefox uses up more memory than it should and becomes difficult to use. The thread has several comments providing support to statements about the relatively poor performance of Firefox on people’s systems, but it also has “contributions” from an obvious troll, who keeps assigning the problem on the users’ side.

The thing about this is that it’s representative of a tricky issue in the geek world, whereby developers and users are perceived as belonging to two sides of a type of “class struggle.” Within the geek niche, users are often dismissed as “lusers.” Tech support humour includes condescending jokes about “code 6”: “the problem is 6″ from the screen.” The aforementioned Eric S. Raymond wrote a rather popular guide to asking questions in geek circles which seems surprisingly unaware of social and cultural issues, especially from someone with an anthropological background. Following that guide, one should switch their mind to that of a very effective problem-solver (i.e., the engineer frame) to ask questions “the smart way.” Not only is the onus on users, but any failure to comply with these rules may be met with this air of intellectual superiority encoded in that guide. IOW, “Troubleshoot now, ask questions later.”

Of course, many users are “guilty” of all sorts of “crimes” having to do with not reading the documentation which comes with the product or with simply not thinking about the issue with sufficient depth before contacting tech support. And as the majority of the population is on the “user” side, the situation can be described as both a form of marginalization (geek culture comes from “nerd” labels) and a matter of elitism (geek culture as self-absorbed).

This does have something to do with my Fonera 2.0n. With it, I was caught in this dynamic whereby I had to switch to the “engineer frame” in order to solve my problem. I eventually did solve my Fonera authentication problem, using a workaround mentioned in a forum post about another issue (free registration required). Turns out, the “release candidate” version of my Fonera’s firmware does solve the issue. Of course, this new firmware may cause other forms of instability and installing it required a bit of digging. But it eventually worked.

The point is that, as released, the Fonera 2.0n router is a geek toy. It’s unpolished in many ways. It’s full of promise in terms of what it may make possible, but it failed to deliver in terms of what a router should do (route a signal). In this case, I don’t consider it to be a finished product. It’s not necessarily “unstable” in the strict sense that a software engineer might use the term. In fact, I hesitated between different terms to use instead of “stable,” in that tweet, and I’m not that happy with my final choice. The Fonera 2.0n isn’t unstable. But it’s akin to an alpha version released as a finished product. That’s something we see a lot of, these days.

The main other case which prompted me to send that tweet is “CivRev for iPhone,” a game that I’ve been playing on my iPod touch.

I’ve played with different games in the Civ franchise and I even used the FLOSS version on occasion. Not only is “Civilization” a geek classic, but it does connect with some anthropological issues (usually in a problematic view: Civ’s worldview lacks anthro’s insight). And it’s the kind of game that I can easily play while listening to podcasts (I subscribe to a number of th0se).

What’s wrong with that game? Actually, not much. I can’t even say that it’s unstable, unlike some other items in the App Store. But there’s a few things which aren’t optimal in terms of documentation. Not that it’s difficult to figure out how the game works. But the game is complex enough that some documentation is quite useful. Especially since it does change between one version of the game and another. Unfortunately, the online manual isn’t particularly helpful. Oh, sure, it probably contains all the information required. But it’s not available offline, isn’t optimized for the device it’s supposed to be used with, doesn’t contain proper links between sections, isn’t directly searchable, and isn’t particularly well-written. Not to mention that it seems to only be available in English even though the game itself is available in multiple languages (I play it in French).

Nothing tragic, of course. But coupled with my Fonera experience, it contributed to both a slight sense of frustration and this whole reflection about unfinished products.

Sure, it’s not much. But it’s “good enough” to get me started.

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

Apple's App Store for OSX iPhone Devices

Though it hasn’t been announced on its website, Apple’s App Store for OSX iPhone applications is now online. In fact, enterprising iPhone users can allegedly upgrade their phone’s firmware to 2.0 in order to take advantage of this online software shop. As an iPod touch user, I have no such luxury. As of this moment, the firmware upgrade for iPod touch hasn’t been released. Since that upgrade will be free for iPhone and paid for iPod touch, the discrepancy isn’t surprising.

With those third-party applications, my ‘touch will become more of a PDA and the iPhone will become more of a smartphone.

Still, I was able to access the App Store using iTunes 7.7 (which I downloaded directly from Apple’s iTunes website since it wasn’t showing up in Apple Software Update). Adding the “Applications” item in the left-hand sidebar (available through the “General” tab in iTunes Preferences), I can see a list of applications already downloaded in iTunes (i.e., nothing at first launch). At the bottom of that page, there’s a link to get more applications which leads to the App Store.  There, I can browse applications, get free apps, or buy some of the paid ones (using the payment information stored in my iTunes account). Prices are the same in USD and CAD (since they are pretty much on par, it all makes sense). Searching and browsing for apps follows all the same conventions as with music, movies, podcasts, or iPod games. Application pages appear in searches for application names (say, “Trism“).

I went through a number of apps and eventually downloaded 28 free ones. I also noted a number of apps I would like to try, including Trism, Units, Things, Outliner, OmniFocus, Steps (one of the rare apps available in French), iCalorie, and one of the multiple Sudoku apps. However, I can’t put apps on a wishlist and demos aren’t available directly through iTunes (I’m assuming they’re available from the iPhone or iPod touch).

I’m actually looking forward to trying out all of these apps. I don’t tend to be an early adopter but this is one case for quick adoption, especially with free apps. I guess a small part of this is that, since Apple has sorted through these apps, I’m assuming none of them contains any malware. Not that I ever fully trust an organization or individual, but my level of trust is higher with the App Store than with, say, the usual software download site (VersionTracker.com, Tucows.com, Download.com, Handango.com). And I trust these download sites much more than the developer sites I find through Web searches.

One thing I notice very quickly is how small many of those apps were. After downloading 28 apps, my “Mobile Applications” folder is 31MB. Of course, many PDA apps were typically under 100KB, but given the size of OSX iPhone devices, I’m glad to notice that I can probably fit that I can probably fit a lot of applications in less than 1GB, leaving more room for podcasts, music, and pictures. On the other hand, filesizes are apparently not listed in the “Applications” section on iTunes (they’re specified on the individual apps’ pages).

Overall, there’s a number of obvious apps, many of which are PDA classic: to do lists, phrasebooks, clocks and timers, calculators (including tips calculators), converters, trackers, weather forecasts, and solitaire or other casual games (like sudoku). No surprise with any of these and I’ll probably use many of them. Typically, these can be difficult to select because developers have had very similar ideas but the apps have slightly different features. Typically, with those apps, free wins over extensive feature lists, even for very cheap software.

Speaking of price, I notice that AppEngines is selling 43 different Public Domain books as separate apps for 1$ each. Now, there’s nothing wrong with making money off Public Domain material (after all, there wouldn’t be a Disney Company without Public Domain works). But it seems strange to me that someone would nickel-and-dime readers by charging for access to individual Public Domain titles. Sure, a standalone app is convenient. But a good electronic book reader should probably be more general than book-specific. Not really because of size constraints and such. But because books are easily conceived as part of a library (or bookshelf), instead of being scattered on a handheld device. The BookZ Text Reader seems more relevant, in this case, and it’s compatible with the Project Gutenberg files. Charging 2$ for that text reader seems perfectly legitimate. For its part, Fictionwise has released a free eReader app for use with its proprietary format. Though it won’t transform OSX iPhone devices into a Kindle killer, this eReader app does seem to at least transfer books through WiFi. Since these books are copyrighted ones, the app can be a nice example of a convenient content marketplace.

I’m a bit surprised that the educational software section of the App Store isn’t more elaborate. It does contain 45 separate apps but several of those are language-specific versions of language tools or apps listed in other categories which happen to have some connection to learning. If it were me, I’d classify language tools in a separate category or subcategory and I might more obvious how different educational apps are classified. On the other hand, I’m quite surprised that Molecules isn’t listed in this educational section.

The reason I care so much is that I see touch devices generally as an important part of the future of education. With iPod touches being bundled with Mac sales in the current “Back-to-School” special and with the obvious interest of different people in putting touch devices in the hands of learners and teachers, I would have expected a slew of educational apps. Not to mention that educational apps have long populated lists of software offerings since the fondly remembered Hypercard days to PDAs and smartphones.

Among the interesting educational apps is Faber Acoustical‘s SignalScope. At 25$, it’s somewhat expensive for an OSX iPhone app, but it’s much less expensive than some equivalent apps on other platforms used to be. It’s also one of the more creative apps I’ve seen in the Store. Unfortunately, for apparently obvious reasons (the iPod touch has no embedded audio in), it’s only available on the iPhone.

Speaking of iPhone-only software… There’s already a way to get audio on the iPod touch using a third-party adapter. I understand that Apple isn’t supporting it officially but I wonder if the iPhone-only tag will prevent people from using it. Small point for most people, I guess. But it’d be really nice if I could use my ‘touch as a voice recorder. Would make for a great fieldwork tool.

One thing I wish were available on the App Store is an alternative mode for text entry. Though I’m already getting decent performance from the default virtual keyboard on my ‘touch, I still wish I had Dasher, MessagEase or even Graffiti.

Among the apps I’ve browsed, I see a number of things which could be described as “standalone versions of Web apps.” There’s already a good number of Web apps compatible or even customized for OSX iPhone devices. The standalone versions can be useful, in part because they can be used offline (great for WiFi-less situations, on the iPod touch). But these “standaloned Web apps” also don’t seem to really take full advantage of Apple’s Cocoa Touch. In the perception of value, I’d say that “standaloned Web apps” rate fairly low, especially since most Web apps are free to use (unless tied with an account on a Web service).

I was also surprised to see that a number of apps which are basically simple jokes are put for sale on the App Store. I was amused to see an OSX iPhone version of Freeverse’s classic “Jared, The Butcher of Songs.” But I’m puzzled by the fact that Hottrix is selling its iBeer app for 3$. Sure, it’s just 3$. But I don’t see the app providing with as much pleasure as a single taster of a craft beer. Not to mention that the beer itself looks (by colour, foam, and carbonation) like a bland pilsner and not like a flavourful beer.

Overall, I’d say the Store is well-made. Again, the same principles are used as for the iTunes Store generally. All application pages have screenshots and some of these screenshots give an excellent idea of what the application does, while other screenshots are surprisingly difficult to understand. Browsing the Store, I noticed how important icons seemed to be in terms of catching my attention. Some application developers did a great job at the textual description of their applications, also catching my attention. But others use “marketingspeak” to brag about their product, which has the effect of making the app more difficult to grasp. Given the number of apps already listed and the simplicity of the classification, such details become quite important. Almost (but not nearly as much) as price, in terms of making an app appealing.

It seems pretty clear to me (and to others, including some free market advocates), that price is an important issue. This was obvious to many of us for a while. But the opening of the App Store makes this issue very obvious.

For instance, regardless of his previous work, CNET journalist Don Reisinger is probably on to something when he argues, in essence, that the free apps may outweigh the benefits of the paid apps, on Apple’s App Store. Even though Apple allegedly coaxed developers into charging for their apps, the fact of the matter is that the App Store clearly shows that no-cost software can be a competitive advantage in the marketplace. The same advantage is obvious in many contexts, including in music. But, as a closed environment, the App Store could serve as an efficient case study in “competing with free.” One thing to keep in mind, as I keep saying, is that there are multiple types of no-cost offerings. In the software world (including on the App Store), there’s a large number of examples of successful applications which incurred no purchase on the users’ part. Yes, sometimes you need a bit of imagination to build a business model on top of no-cost software. But I think the commercial ventures enabled by these “alternative” business models are more diverse than people seem to assume.

One thing I noticed in terms of application pricing on the App Store is that there either seems to be a number of sweet spots or pricing schemes come from a force of habit. Sure, Apple only has a finite list of “tiers” for amounts which can be charged for a given app (with preset currency conversions). But I think that some tiers have been used more than others. For instance, 10$ seems fairly common as a threshold between truly inexpensive apps and a category similar to “shareware.” Some apps are actually as expensive as the desktop versions, though it seems that the most expensive app so far is under 100$.

One thing to note is that several developers of those early App Store products have been involved in Mac development for a while (the Omni Group being an obvious example) but there are also several organizations which seem to be entering Cocoa development for the first time. This could be a bigger halo effect in terms of Mac sales than the original iPod or the iPhone. Profit made through OSX iPhone apps (either through software cost, through services, or even through other monetization schemes) could lead them to develop software for OSX Leopard. At least, they already made an investment in the development platform.

It’ll be interesting to observe what happens with software pricing in relation to the “apparent hand” of a constrained market.

But I’m less interested in this market than in the actual apps. When can I install the “iPhone 2.0” firmware on my iPod touch? Is it now?

Free As In Beer: The Case for No-Cost Software

To summarize the situation:

  1. Most of the software for which I paid a fee, I don’t really use.
  2. Most of the software I really use, I haven’t paid a dime for.
  3. I really like no-cost software.
  4. You might want to call me “cheap” but, if you’re developing “consumer software,” you may need to pay attention to the way people like me think about software.

No, I’m not talking about piracy. Piracy is wrong on a very practical level (not to mention legal and moral issues). Piracy and anti-piracy protection are in a dynamic that I don’t particularly enjoy. In some ways, forms of piracy are “ruining it for everyone.” So this isn’t about pirated software.

I’m not talking about “Free/Libre/Open Source Software” (FLOSS) either. I tend to relate to some of the views held by advocates of “Free as in Speech” or “Open” developments but I’ve had issues with FLOSS projects, in the past. I will gladly support FLOSS in my own ways but, to be honest, I ended up losing interest in some of the most promising projects out there. Not saying they’re not worth it. After all, I do rely on many of those projects But in talking about “no-cost software,” I’m not talking about Free, Libre, or Open Source development. At least, not directly.

Basically, I was thinking about the complex equation which, for any computer user, determines the cash value of a software application. Most of the time, this equation is somehow skewed. And I end up frustrated when I pay for software and almost giddy when I find good no-cost software.

An old but representative example of my cost-software frustration: QuickTime Pro. I paid for it a number of years ago, in preparation for a fieldwork trip. It seemed like a reasonable thing to do, especially given the fact that I was going to manipulate media files. When QuickTime was updated, my license stopped working. I was basically never able to use the QuickTime Pro features. And while it’s not a huge amount of money, the frustration of having paid for something I really didn’t need left me surprisingly bitter. It was a bad decision at that time so I’m now less likely to buy software unless I really need it and I really know how I will use it.

There’s an interesting exception to my frustration with cost-software: OmniOutliner (OO). I paid for it and have used it extensively for years. When I was “forced” to switch to Windows XP, OO was possibly the piece of software I missed the most from Mac OS X. And as soon as I was able to come back to the Mac, it’s one of the first applications I installed. But, and this is probably an important indicator, I don’t really use it anymore. Not because it lacks features I found elsewhere. But because I’ve had to adapt my workflow to OO-less conditions. I still wish there were an excellent cross-platform outliner for my needs. And, no, Microsoft OneNote isn’t it.

Now, I may not be a typical user. If the term weren’t so self-aggrandizing, I’d probably call myself a “Power User.” And, as I keep saying, I am not a coder. Therefore, I’m neither the prototypical “end user” nor the stereotypical “code monkey.” I’m just someone spending inordinate amounts of time in front of computers.

One dimension of my computer behavior which probably does put me in a special niche is that I tend to like trying out new things. Even more specifically, I tend to get overly enthusiastic about computer technology to then become disillusioned by said technology. Call me a “dreamer,” if you will. Call me “naïve.” Actually, “you can call me anything you want.” Just don’t call me to sell me things. 😉

Speaking of pressure sales. In a way, if I had truckloads of money, I might be a good target for software sales. But I’d be the most demanding user ever. I’d require things to work exactly like I expect them to work. I’d be exactly what I never am in real life: a dictator.

So I’m better off as a user of no-cost software.

I still end up making feature requests, on occasion. Especially with Open Source and other open development projects. Some developers might think I’m just complaining as I’m not contributing to the code base or offering solutions to a specific usage problem. Eh.

Going back to no-cost software. The advantage isn’t really that we, users, spend less money on the software distribution itself. It’s that we don’t really need to select the perfect software solution. We can just make do with what we have. Which is a huge “value-add proposition” in terms of computer technology, as counter-intuitive as this may sound to some people.

To break down a few no-cost options.

  • Software that came with your computer. With an Eee PC, iPhone, XO, or Mac, it’s actually an important part of the complete computing experience. Sure, there are always ways to expand the software offering. But the included software may become a big part of the deal. After all, the possibilities are already endless. Especially if you have ubiquitous Internet access.
  • Software which comes through a volume license agreement. This often works for Microsoft software, at least at large educational institutions. Even if you don’t like it so much, you end up using Microsoft Office because you have it on your computer for free and it does most of the things you want to do.
  • Software coming with a plan or paid service. Including software given by ISPs. These tend not to be “worth it.” Yet the principle (or “business model,” depending on which end of the deal you’re on) isn’t so silly. You already pay for a plan of some kind, you might as well get everything you need from that plan. Nobody (not even AT&T) has done it yet in such a way that it would be to everyone’s advantage. But it’s worth a thought.
  • “Webware” and other online applications. Call it “cloud computing” if you will (it was a buzzphrase, a few days ago). And it changes a lot of things. Not only does it simplify things like backup and migration, but it often makes for a seamless computer experience. When it works really well, the browser effectively disappears and you just work in a comfortable environment where everything you need (content, tools) is “just there.” This category is growing rather rapidly at this point but many tech enthusiasts were predicting its success a number of years ago. Typical forecasting, I guess.
  • Light/demo versions. These are actually less common than they once were, especially in terms of feature differentiation. Sure, you may still play the first few levels of a game in demo version and some “express” or “lite” versions of software are still distributed for free as teaser versions of more complete software. But, like the shareware model, demo and light software may seem to have become much less prominent a part of the typical computer user’s life than just a few years ago.
  • Software coming from online services. I’m mostly thinking about Skype but it’s a software category which would include any program with a desktop component (a “download”) and an online component, typically involving some kind of individual account (free or paid). Part subscription model, part “Webware companion.” Most of Google’s software would qualify (Sketchup, Google Earth…). If the associated “retail software” were free, I wouldn’t hesitate to put WoW in this category.
  • Actual “freeware.” Much freeware could be included in other categories but there’s still an idea of a “freebie,” in software terms. Sometimes, said freeware is distributed in view of getting people’s attention. Sometimes the freeware is just the result of a developer “scratching her/his own itch.” Sometimes it comes from lapsed shareware or even lapsed commercial software. Sometimes it’s “donationware” disguised as freeware. But, if only because there’s a “freeware” category in most software catalogs, this type of no-cost software needs to be mentioned.
  • “Free/Libre/Open Source Software.” Sure, I said earlier this was not what I was really talking about. But that was then and this is now. 😉 Besides, some of the most useful pieces of software I use do come from Free Software or Open Source. Mozilla Firefox is probably the best example. But there are many other worthy programs out there, including BibDesk, TeXShop, and FreeCiv. Though, to be honest, Firefox and Flock are probably the ones I use the most.
  • Pirated software (aka “warez”). While software piracy can technically let some users avoid the cost of purchasing a piece of software, the concept is directly tied with commercial software licenses. (It’s probably not piracy if the software distribution is meant to be open.) Sure, pirates “subvert” the licensing system for commercial software. But the software category isn’t “no-cost.” To me, there’s even a kind of “transaction cost” involved in the piracy. So even if the legal and ethical issues weren’t enough to exclude pirated software from my list of no-cost software options, the very practicalities of piracy put pirated software in the costly column, not in the “no-cost” one.

With all but the last category, I end up with most (but not all) of the software solutions I need. In fact, there are ways in which I’m better served now with no-cost software than I have ever been with paid software. I should probably make a list of these, at some point, but I don’t feel like it.

I mostly felt like assessing my needs, as a computer user. And though there always are many things I wish I could do but currently can’t, I must admit that I don’t really see the need to pay for much software.

Still… What I feel I need, here, is the “ultimate device.” It could be handheld. But I’m mostly thinking about a way to get ideas into a computer-friendly format. A broad set of issues about a very basic thing.

The spark for this blog entry was a reflection about dictation software. Not only have I been interested in speech technology for quite a while but I still bet that speech (recognition/dictation and “text-to-speech”) can become the killer app. I just think that speech hasn’t “come true.” It’s there, some people use it, the societal acceptance for it is likely (given cellphone penetration most anywhere). But its moment hasn’t yet come.

No-cost “text-to-speech” (TTS) software solutions do exist but are rather impractical. In the mid-1990s, I spent fifteen months doing speech analysis for a TTS research project in Switzerland. One of the best periods in my life. Yet, my enthusiasm for current TTS systems has been dampened. I wish I could be passionate about TTS and other speech technology again. Maybe the reason I’m notis that we don’t have a “voice desktop,” yet. But, for this voice desktop (voicetop?) to happen, we need high quality, continuous speech recognition. IOW, we need a “personal dictation device.” So, my latest 2008 prediction: we will get a voice device (smartphone?) which adapts to our voices and does very efficient and very accurate transcription of our speech. (A correlated prediction: people will complain about speech technology for a while before getting used to the continuous stream of public soliloquy.)

Dictation software is typically quite costly and complicated. Most users don’t see a need for dictation software so they don’t see a need for speech technology in computing. Though I keep thinking that speech could improve my computing life, I’ve never purchased a speech processing package. Like OCR (which is also dominated by Nuance, these days) it seems to be the kind of thing which could be useful to everyone but ends up being limited to “vertical markets.” (As it so happens, I did end up being an OCR program at some point and kept hoping my life would improve as the result of being able to transform hardcopies into searchable files. But I almost never used OCR (so my frustration with cost-software continues).)

Ah, well…

Flock as Blog Editor

Now that Flock has a “spell as you type” feature, I can give it a fair shake as a blog editor.
Flock 0.9 Beta Release Notes | Flock
Thing is, though, it seems to have a problem with my main blog‘s extremely long list of categories. When I tried posting a blog entry with my WordPress.com blog account listed among the others, Flock became unresponsive as it was trying to download all my categories (all 2,751 of them). Maybe I could have waited longer but after a number of minutes without being able to use my computer at all, I decided to let it go.
Still, it made me a bit cranky. So the rest of this post will sound like a rant. It’s more like wishful thinking, though. I like wishful thinking.
I don’t like the way Flock’s blog editor handles link insertion. Sure, like any WYSIWYG editor out there, it has a button on which you can click to add an appropriate URL to text you’ve selected. But there’s no clear shortcut for this button and it could be much more powerful than it currently is.
Qumana has a better way to handle links. For one thing, it automatically inserts the clipboard’s content in the URL section of link insertion dialog box. And since it keeps published blog posts, it makes it easy to copy the “permalink” to another blog entry (for those bloggers, like me, who tend to be self-referential). Can’t remember off the top of my head but I’m pretty sure ecto and Windows Live Writer have similar features.
Ok… Flock does have this drag and drop interface for “media streams” (basically, Flickr or PhotoBucket accounts) and for “Web snippets” (local content, including text and links). Good idea and I guess I could make my “bloggable content” available to me while blogging by adding lots of content to my Flock installation and Flickr account. Makes a lot of sense for those who mostly use blogs as placeholders. But it’s still not the ideal method for blogs which rely on more extensive writing. Or for message writing.

What I want is pretty obvious but I haven’t found it yet, even in dedicated blog editors. I want my blog editor to have access to all of my links (Web history, favourites, social bookmarks…) and make it easy to work with those links while I’m writing. Sure, a “Web Snippets” feature is useful. But it still requires a fair amount of mouse movement to simply insert a link. Call me lazy but I prefer limiting my mouse movement while I’m writing.
My dream editor would integrate all of my social bookmarks, Web histories, and address books in the same interface. I could use a keystroke and start typing to get access to those links and addresses that I use frequently. Why addresses? I want to use the same editor for writing blog posts and email messages. Why not? Messages and posts end up having very similar features anyway. As many sites label it, it’s all about “sharing content.”
(I’m not really into IM but, as logic would have it, the same features should work with IM as well.)

To me, the “killer feature” in modern browsers is that auto-complete in the URL bar. I want to go back to a site I’ve visited recently, I just start typing the URL in the URL bar and the browser shows all related URLs. Same thing in Gmail: start typing an address and Gmail auto-completes it. So simple that nobody ever talks about it. But this simple feature is yet completely absent from blog editors, AFAICT.
Oh, sure, Flock does auto-complete in the search field. In fact, it supports incremental searches, which is really nice. But I need auto-complete for links and addresses.
What makes auto-complete even nicer is that it’s now possible to synchronise browsers through Google’s Browser Sync extension for Firefox (it might work with Flock too). Google also saves a Web History. And Gmail users get easy access to their address books from Google applications like Google Docs. And Google has toolbars for most browsers. So I guess Google could easily implement my dream editor.

Thing with my wishful thinking is that it’s often obvious enough that it becomes concrete very quickly after I say it. For all I know, this feature may exist somewhere and everybody else knows about it. But I’ve been missing it for a while now.
Ah, well.

Blogged with Flock

Tags: , , , , , , , , , , ,