The product management cycle

June 28, 2010 | 2 comments

Monday: “The plan is A! We’ll market it at A!”

Tuesday: “Actually, I was thinking B. A is stupid. Who would want to do that?”

Wednesday: “Goddamnit, we need to be working towards C. Why does no-one see that?”

Thursday: “Maybe A was right …”

Friday: “This team sucks.”

Hint: pick a direction and run. And make sure – just as your tech team does – that your management team has measurable metrics for success.

Write real-time web applications with XMPP, PHP, and JavaScript

June 25, 2010 | 3 comments

I’ve written a tutorial for writing XMPP-based web applications over at IBM DeveloperWorks:

Real-time web applications are networked applications, with web-based user interfaces, that display Internet information as soon as it’s published. Examples include social news aggregators and monitoring tools that continually update themselves with data from an external source. In this tutorial, you will create Pingstream, a small notification tool that uses PHP and JavaScript to communicate over the Extensible Messaging and Presence Protocol (XMPP), a set of XML technologies designed to support presence and real-time-communications functionality.

You can read the whole tutorial here. IBM have made it a featured article, commenting, “bet you have it up and running before lunch.” I hope you find it useful. (And don’t forget to check out my introduction to Activity Streams, also written for IBM.)

Photo: IBM by antonfortunato, released under a Creative Commons license.

An introduction to Activity Streams

June 22, 2010 | Leave a comment

I’ve written an introduction to the Activity Streams standard for IBM DeveloperWorks:

Enter Activity Streams, an evolving standard that extends Atom for expressing social objects. Although it is a young standard, Activity Streams is fast becoming the de facto method for syndicating activity between web applications. For example, MySpace, Facebook, and TypePad all now produce Activity Streams XML feeds. But this technology isn’t just for the consumer web environment. As corporate intranets and internal software become more social, solid business reasons support implementing Activity Streams as a feature. This article describes Activity Streams in detail, considers its potential uses in enterprise environments, and provides some examples for interpreting Activity Streams feeds using PHP.

The full article is over here.

My pro web apps: June 2010

June 8, 2010 | 3 comments

I thought I’d list the third-party web applications I use on a daily basis to do my job. There are plenty more that I use for fun (Flickr) or find useful (Twitter) – but these are the things that have become integral to how I make money. I’d be interested to hear yours: if you post them to Twitter with the hashtag #myprowebapps, or leave them in the comments, I’ll do an update in a future post.

My apps, then:

  • Gmail (email). I used to be a die-hard Mozilla Thunderbird user, but during my Elgg days I switched over. There are probably better email web apps to be using these days; ideally I’d like one that runs on my own infrastructure rather than in Google’s cloud. But with one tweak (I have a separate pane that keeps all starred messages at the top of the screen, so I know what to reply to imminently), the default interface is all I really need.
  • Google Calendar (scheduling). I didn’t get into Google Calendar until I figured out how to sync it to my iPhone – and then it became invaluable. I get a reminder of imminent tasks wherever I am. Interoperability with Gmail for event invitations means I have an integrated system for keeping on top of calls and conferencing.
  • Producteev (task management). Until I found this, I’d been using Remember the Milk for tasks, which I never really got into, despite buying a pro account. Integration with Google Calendar is perfect, and the iPhone app has its own push notifications. And for my purposes, it’s free, which is even better.
  • Freckle (time management) has dramatically simplified the way I bill for my time. The integrated timer means I can effortlessly keep track of how many hours I’m spending on what project, and I get to export unbilled hours to a nicely-formatted automatic invoice. Offline access and the ability to mark invoices as paid would make me even happier.
  • Beanstalk (source code management) is by far the best hosted subversion repository provider I’ve found. (Projects can also be hosted using Git.) It integrates with a bunch of different applications, including Basecamp and Zendesk, but so far I’ve only needed to tie it to Lighthouse.
  • Lighthouse (issue management) is low on features compared to Trac (which I’ve used for years), and it’s true that I’d prefer an easy-to-use bug tracker that managed to incorporate things like Mylyn integration and bug priority levels. But when it comes to interacting with clients, given the choice between feature-packed and non-developer-friendly, I’ll pick the latter every time. Lighthouse is simple, well-designed and light years less painful to use than a tool like Bugzilla. It’s also proven pretty useful inside teams of developers, although there are usually complaints about missing features.

It should go without saying that I’m not involved with any of these companies, and none of them have paid me for this post. In fact, in the case of Freckle, Beantalk and Lighthouse, I happily pay them. I think subscription or one-off license charges are probably a better way for smaller software houses to fund their web applications, and I’m really glad to see these kinds of premium models become more popular.

I’d love to hear your thoughts on these, and the apps you find useful in your work. Leave a comment or write your own post and tweet it with the hashtag #myprowebapps.

Next Page »