Peter Campbell's blog

Why We Tweet

Skeptics take note - I agree with you that Twitter, the "microblogging" service that your friends are pressuring you to join, appears to be the ultimate synthesis of vanity and wasted time. All of that potential is there, and, worse, the service seems to advertise those traits as its raison d'etre. But I'm going to ask you (and that means all of you) to bear with me as I offer some arguments for the service.

Twitter is, at its core, a messaging service that is more immediate and casual than email, but less immediate and intimate than IM (Instant Messaging). Just as email bridged the gap between the letter and the phone call, Twitter bridges these digital extremes. But, unlike email - and more like, say, Delicious or Flickr, web sites that take what were traditionally private things - bookmarks and photo albums - and make them social, Twitter makes this messaging social. You can protect your tweets so that they can only be seen by people that you approve, but the majority of tweeters don't do that.

I came to Twitter via NTEN. In 2007, as we were revving up for the annual conference in DC, a bunch of us signed up for Twitter accounts and used them -- to mixed success -- for casual announcements, off-agenda organizing and "Hey, what session are you in?" friend pinging. By the 2008 NTEN shindig in New Orleans, Twitter was an incredible asset. Even before the conference I was alerted to nationwide problems with flights, as I followed my friend @kariapeterson (and others) stories about being trapped in airports hours after their flights were due to leave.

Joining Twitter with a good chunk of my social/professional community was definitely a boon. If you sign up without a group of friends established, it can be a fair amount of work to identify and connect with people that share enough of your interests and motives for using Twitter. Because using Twitter involves more than just finding interesting people. It's also about finding people who will interact with you on Twitter in ways that fit your needs and goals.

Margaret Mason's wonderful blog entry on Twitter tips breaks down Twitter users into two camps:

"With the usual exceptions, people on Twitter tend to fall into two main camps. There are responders, who use Twitter as a channel to interact heavily with other users, and broadcasters, who use it primarily as a micro-blogging platform."

The nptech crowd that I hang out with is squarely in the Responder's camp. This is a social tool for us, not additional brochureware, and we use it to engage each other. For me, this has primarily meant that I have a casual channel to share and query my professional community on. I ask and answer a lot of questions. I engage in casual conversation. It's allowed me to learn more about people who I share my nonprofit and technical interests with, broadening into family, film and music conversations, but in a way that is far more natural, friendly and interactive than poring over their Facebook profiles.

But the real power comes from the crowd. For example, @johnmerritt, who works as IT Director for a SoCal YMCA, did a Twitter survey about email server message limits. He requested that survey response tweets include the tag "#inboxlimit", and then he set up a web page subscribing to an RSS feed for that tag, so that we could share a growing list of responses. This survey helped me provide context to my staff about our email policies.

On Monday, @webb, co-Exec at an awesome San Francisco nonprofit, asked us all what non-financial giving we have planned for the coming months, with the request that we tag our answers with "#givelist". If you want to be inspired, and learn a lot of ways that you can be philanthropically productive without increasing your budget for donations, then the responses are a worthwhile read. You can learn even more at this website.

The typical assumption about any social networking site is that it will allow you to market your mission and, possibly, increase donations. Twitter, of course, can do those things, as Facebook or MySpace can, under the right conditions. But it's a far more natural tool for generating ideas and camaraderie than cash. If you're writing it off as just another place to promote yourself or your cause, I'd say that it deserves a deeper look.

Managing by Maxim

I'm a big fan of maxims, adages, anything that sums up an important, and possibly complex point in a sentence that can convey, if not the whole point, at least a conversation starter. The main challenge for a technology manager is communication, particularly with those who are uninterested and/or threatened by technological terms. I live and breathe this stuff, but I understand that I'm in the ten percent, the ten percent of people who like and are completely comfortable with technology. The rest of the world ranges from averse to highly competent, but not gaga over it all, like I am. Remembering that, and approaching each project and decision with that in mind, has helped me accomplish significant things for people who aren't necessarily bought in to all of my ideas on first listen.

My current favorite maxim is Users own functionality, techies own platforms. This encompasses a couple of key concepts. First, technology isn't owned by IT or the people they serve; it's owned by both those who install it and those who use it. Therefore, technology can't be evaluated and planned for solely by one group or another. But I've seen lots of cases of both - IT rolling out a fundraising database or point of sale system with no input from the people who will base their revenue goals on the systems' capabilities; and staff rolling out equally complex systems with little or no IT guidance. Both situations are likely to be a big waste of funds and effort. Second, the breakdown is clear - IT might be wowed by the cool, Ajaxy interface on that web app, but if it doesn't have the reporting capabilities that the users need, they might be better served by something less flashy. That's for the users to decide. But IT will have a better read on how sound a database structure is for querying and reporting, or what will integrate successfully with other key systems. So IT should have sway over the technologies used, to a large extent.

If you build it, they won't come is another favorite. Unlike some cinematic baseball greats, techies can't build huge systems in anticipation of user's needs and expect them to be adopted, no matter how great the systems are. Clearly identified needs and ample amounts of input and involvement are required for home-grown system development. At my job, I am pushing agile development, which includes user testing and input from early on in development. This means that I'm teaching my staff how to let go a bit, and be more open to feedback, as I'm teaching the non-techie staff how to evaluate functionality in unfinished, and possibly somewhat ugly systems. It's not as much training as it is imploring all parties to have some faith in each other.

In business communications, you haven't said anything until you've said it three times in three different mediums. This one was taught to me by one of my greatest mentors, an ED at a commercial law firm that I worked at in the 90's. It boils down to the terser rule of thumb: Assume that they haven't read your email. The biggest mistake that we all make is thinking that we've made our intentions and priorities clear by sending a memo or an all staff email. The truly important initiatives that you're pushing through should be reiterated and the message diversified, to reach people who may not respond to your favorite medium. And, as Paul has well-pointed out, at least one of those mediums should be verbal, and hopefully in the same room.

What are the maxims that you manage and survive by? Leave your best ones in the comments.

The Lean, Green, Virtualized Machine

I normally try to avoid being preachy, but this is too good a bandwagon to stay off of.  If you make decisions about technology, at your organization, as a board member, or in your home, then you should decide to green your IT.  This is socially beneficial action that you can take with all sorts of side benefits, such as cost savings and further efficiencies.  And it's not so much of a new project to take on as it is a set of guidelines and practices to apply to your current plan.  Even if my day job wasn't at an organization dedicated to defending our planet, I'd still be writing this post, I'm certain.

I've heard a few reports that server rooms can output 50% or more of a company's entire energy; PC Magazine puts them at 30-40% on average.  If you work for an organization of 50 people or more, then you should look at this metric: how many servers did you have in 2000; how many do you have now?  If the volume hasn't doubled, at least, then you're the exception to a very bloated rule.  We used to pile multiple applications and services onto each server, but the model for the last decade or so has been one server per database, application, or function.  This has resulted in a boom of power usage and inefficiency. Another metric that's been quoted to me by IDC, the IT research group, is that, on average, we use 10% of any given server's processing power.  So the server sits there humming 24/7, outputting carbons and ticking up our power bills.

So what is Green IT?  A bunch of things, some very geeky, some common sense.  As you plan for your technology upgrades, here are some things that you can consider:

1. Energy-Saving SystemsDell, HP and the major vendors all sell systems with energy-saving architecture.  Sometimes they cost a little more, but that cost should be offset by savings on the power bills.  Look for free software and other programs that will help users manage and automate the power output of their stations. 

2. Hosted Applications. When it makes sense, let someone else host your software.  The scale of their operation will insure that the resources supporting your application are far more refined than a dedicated server in your building.

3. Green Hosting.  Don't settle for any host - if you have a hosting service for your web site, ask them if they employ solar power or other alternative technologies to keep their servers powered.  Check out some of the green hosting services referenced here at Idealware.

4. Server Virtualization.  And if, like me, you have a room packed with servers, virtualize.  Virtualization is a geeky concept, but it's one that you should understand.  Computer operating system software, such as Windows and Linux, is designed to speak to a computer's hardware and translate the high-level activities we perform to machine code that the computer's processor can understand.  When you install Windows or Linux, the installation process identifies the particular hardware on your system--the type of processor, brand of graphics card, number of USB ports--and configures the operating system to work with your particular devices. 

Virtualization is technology that sits in the middle, providing a generic hardware interface for the operating system to speak with.  Why?  Because, once the operating system is speaking to something generic, it no longer cares what hardware it's actually installed on.  So you can install your Windows 2003 server on one system.  Then, if a component fails, you can copy that server to another system, even if it's radically different - say, a Mac - and it will still boot up and run.  More to the point, you can boot up multiple virtual servers on one actual computer (assuming it has sufficient RAM and processing power).

A virtual server is, basically, a file.  Pure and simple: one large file that the computer opens up and runs.  While running, you can install programs, create documents, change your wallpaper and tweak your settings.  When you shut down the server, it will retain all of your changes in the file.  You can back that file up.  You can copy it to another server and run it while you upgrade components on it's home server, so that your users don't lose access during the upgrade. And you can perform the upgrade at 1:00 in the afternoon, instead of 1:00 in the morning.

So, this isn't just cool.  This is revolutionary.  Need a new server to test an application?  Well, don't buy a new machine.  Throw a virtualized server on an existing machine.

Don't want to mess with installing Windows server again?  Keep a virtualized, bare bones server file (VM) around and use it as a template.

Don't want to install it in the first place?  Google "Windows Server VM".  There are pre-configured virtual machines for every operating system made available for download.

Want to dramatically reduce the number of computers in your server room, thereby maximizing the power usage of the remaining systems?  Develop a virtualization strategy as part of our technology plan.

This is just the surface of the benefits of virtualization.  There are some concerns and gotchas, too, that need to be considered, and I'll be blogging more about it.

But the short story is that we have great tools and opportunities to make our systems more supportive of our environment, curbing the global warming crisis one server room at a time.  Unlike a lot of these propositions, this one comes with cost reductions and efficiencies built-in.  It's an opportunity to, once in place, lighten your workload, strengthen your backup strategy, reduce your expenses on hardware and energy, and, well -- save the world.

Complying with Data Security Regulation

An article appeared in the NonProfit Times this week regarding a recent ruling in Nevada requiring that all personal information be securely transmitted, e.g. encrypted. The article, States Push To Encrypt Personal Data is by Michelle Donahue, and quotes, among others, me and our friend Holly Ross, Executive Director of NTEN -- it's a worthwhile read. The law in question is a part of Nevada's Miscellaneous Trade Regulations and Prohibited Acts. I've quoted the relative pieces of this legislation below, but I'll sum it up here:

Personal information can not be transferred to you by your customers (donors) without encryption. Personal information is defined as any transmittal of someone's name along with their credit card number, driver's license, or other data that could be used to access their financal records.

Nevada is the first state to pass legislation like this, but it's a good bet that they are the first of fifty. Massachusetts is right behind them. And if the government won't get you, the credit card industry might. The regulations that they impose on larger retailers for credit card security are even tougher. These initially applied to retailers bringing in far more money via credit card than most of us do, but they have lowered the financial threshold each year, bringing smaller and smaller organizations under that regulatory umbrella.

So, the question is, how many of you receive donations via email? If you do accept donations over the web, are you certain that they're encrypted from the time of input until they land inside your (secured) network? What do you do with them when you receive them? Do you email credit card numbers within the office? Retain them in a database, spreadsheet or document?

Most nonprofits are understaffed and unautomated. We accept donations in any manner that the donors choose to send them, and get them into our records-keeping systems in a myriad of fashions. The bad news here is that this will have to change. The good news is, if you do it right, you should be able to adopt new practices that streamline the maintenance of your donor data and reduce the workload. Even better, if the solution is to move from Excel or Word to Salesforce or Etapestry, then you'll not only have a better records-keeping system, you'll also have good analytical tools for working with your donors.

Automating systems, refining business processes, improving data management and maintenance -- these are all of the things that we know are important to do someday. It looks like the urgency is rising. So don't treat this threat as an impediment to your operations -- treat it like an opportunity to justify some necessary improvements in your organization.

The relevent snippet from the Nevada law:
" 1. A business in this State shall not transfer any personal information of a customer through an electronic transmission other than a facsimile to a person outside of the secure system of the business unless the business uses encryption to ensure the security of electronic transmission.

2. As used in this section:

(a) “Encryption” has the meaning ascribed to it in NRS 205.4742.

(b) “Personal information” has the meaning ascribed to it in NRS 603A.040.

"Personal Information" is defined as:

“Personal information” means a natural person’s first name or first initial and last name in combination with any one or more of the following data elements, when the name and data elements are not encrypted:

1. Social security number.

2. Driver’s license number or identification card number.

3. Account number, credit card number or debit card number, in combination with any required security code, access code or password that would permit access to the person’s financial account.

The term does not include the last four digits of a social security number or publicly available information that is lawfully made available to the general public.

About that Google Phone

After my highfalutin post on mobile operating systems, I thought I'd step back and post a quick review of my T-Mobile G1, the first phone running Google's Android Mobile OS.  Mind you, I'm not posting this from my phone, but I could... :)

Hardware Specs for the G1

In order to discuss this phone, it's important to separate the phone from the operating system.  Android is open source, based on the Linux kernel with a JAVA software development approach.   The G1 is an HTC mobile phone with Android installed on it.  Android is designed to run on everything from the simplest flip phone to a mini-computer, so how well it works will often depend on the hardware platform choices.

That said, HTC made many good choices and a few flat-out poor choices.  Since it's impossible to not compare this phone to the iPhone, then it's obvious that they could have provided a bigger screen or included a standard audio jack (the G1 comes with a mini-USB headset; otherwise, you need an adapter).  The iPhone, of course, is thinner, but that design choice was facilitated by the lack of a hardware keyboard.  No G1 owner is going to complain that it's modest increase in heft is due to the availability of a slide-out QWERTY keyboard.  That's one of the clear advantages over Apple's ubiquitious competition.  Apple makes it's virtual keyboard somewhat acceptable by offerng auto-suggest and auto-correct as you type, features that Android currently lacks, but should have by early 2009 (per the Android roadmap).  But I find - as do many of my friends - that a physical keyboard is a less error-prone device than the virtual one, particularly without a stylus.  I have some nits about the Android keyboard -- the right side is slightly impeded by the stub of the phone, making it hard to type and "o" without also typing "p", but it's overall a very functional and responsive keyboard, and I do sometimes blog from my phone, so it was a critical consideration for me.

The hardware has some other limitations as well. It sports a 2MP camera; 3 or 4 would have been preferable.  And they made an interesting choice on the memory, including 2GB on board, with expansion available on MicroSD cards up to 8GB.  This has led to what seem like some of the major potential issues with the phone and OS, discussed below. 

Overall, the design is deceptively unsexy.  While the G1 isn't as sporty as the iPhone, it is highly functional.  It's easy to hold; the curved "chin" actually supports talking on the phone in a way that my flat Treos and Wing never did; the Keyboard slides easily and quickly, making it's use less awkward when you need it in a hurry, and the decision to include a Blackberry-style trackball, which some have criticized as extraneous, was actually sharp - I find it useful to navigate text fields when editing, and as an alternate to finger-scrolling.  My favorite Solitaire game uses a trackball press to deal more cards.  It's actually handy and intuitive. Unlike other smartphones, I took immediately to the functionality of the buttons; they're well-designed. Also nice - one handed operation on this phone for basic tasks like making calls, checking email and voicemail is really easy.

A Versatile Desktop

Unlike the iPhone and Windows Mobile, a big emphasis has been put on customization.  You can put shortcuts to just about anything on the desktop, and you can create folders there to better organize them.  I keep shortcuts to the dialer, calendar and my twitter client there, along with shortcuts to the people I call most, and folders for apps, games and settings.  You can also set up keyboard shortcuts to applications.  This, again, makes the phone a pleasure to use - the things I want access to are always a few taps away, at most.

It's a Google Phone

The Android OS is young, but elegant.  The primary thing to know, though, is that this is a Google phone.  If you use GMail and Google Calendar as your primary email and calendaring applications, you'll love the push email and no-nonsense synchronization.  The pull down menu for notifications, with visual cues in the bar, is awesome; the GMail client is so good that I often use it to label mesasages because that function is simpler than it is in the web client.  But if your primary groupware is Exchange/Outlook, then you might want to stop reading here.  As of this writing, there are a few applications that - under the right circumstances - can sync your Exchange and GMail contacts.  There's no application that syncs with Outlook on your desktop.  If you run on Windows, Google has a calendar sync.  But your options for non-Google email are either POP or IMAP in the G1's "other" email application, which is pretty lame, or some scheme that forwards all of your Exchange mail to GMail (my choice, discussed here).  Google search is well-integrated, too, with a widget on the phone's desktop, a dedicated search key on the keyboard, and a "when in doubt, search" default that pretty much starts a Google search whenever you start typing something in an app that doesn't expect input.  For example, in the browser, you just type to go to a web site, no need for a URL bar; from the desktop, typing will search contacts for a match to call, but if one isn't found, it will switch to a Google search. And taht browser is excellent, much like teh iPhone's, but lacking the multi-touch gestures.  All the same, it;s a pseudo-tabbed browser that renders all but Flash-based web sites as well as the desktop, and puts Palm, Microsoft and RIM's browser's to shame.


Multimedia support also pales in comparison to the iPhone, which is no surprise.  there's a functional media player, and an app that, like iTunes, connects to the Amazon music store.  there's no support for flash, and the only installed media player is the Youtube app, but you can download other media players. You can store music and movies on an SD card (a 1GB card comes with the phone, but, if you plan to use it for music, you'll want to purchase a 4, 6 or 8 GB card). All applications are downloaded to the internal drive, which means that there's a limit on how many apps you can install - most of the 2GB is in use by the OS.  I'm hoping that OS fixes and updates -- which are delivered over the air - will address this, as it's a potentially serious limitation. 

Maps and Apps

Another compelling thing Maps and GPS functionality.  While it doesn't
do voice directions, the mapping features are powerful and extensible. 
Street View features a compass, so you can see where you are going as
you walk, and there are already a number of apps doing great
integration with maps and multimedia, as you'd expect from a Google phone.

Since Android is so new, and the G1 is the only phone that we'll see in 2008, it will be a while before the third party market for applications grows up to something competitive with Windows Mobile, Blackberry or Apple.  While I have almost everything I need to do the things I do on a phone (and I'm a power user), those apps are pretty rudimentary in their functionality, and there isn't a big variety to choose from.  I have no worries that the market won't grow - it's already growing quickly.  But another consideration is that Android is still for early adopters who are dying for the Google integration, or, like me, want an iPhone-class we b browser, but require a keyboard.

Application Recommendations 

I get all of my applications from the market, accessible via the phone.  A lot of third-party markets are popping up, but they are either offering things that are on the Android Market or selling items (the Android Market only offers free software - this will change in January).  I have yet tos ee something for sale that looked worth paying for, versus teh range of freely available apps.

Apps I'm using include Twitli, a Twitter client.  TwiDroid seems to have better marketing, but Twitli seems faster and stabler, as of this writing, and presents tweets in a larger font, which my old eyes appreciate.

Anycut - this is a must have OS enhancer that broadens the number of things that you can make shortcuts to, including phone contacts, text messages, settings screens and more.  Essential, as having contacts right on the screen is the fastest speed dial feature ever.

Compare Everywhere is an app that reads bar codes and then finds matching product prices online.  How handy is that?  But I think the ability to scan barcodes from the phone, with no add-on attachments, is pretty powerful, and something that the nonprofit industry could make use of (campaign tracking, asset amnagement, inventory).

Connectbot is an SSH client - I once reset a web server in order to get an online donation form working on Christmas Eve from 3000 miles away.  Essential for a geek like me.  :)

OI or AK Notepad - simple notepad apps.  Ridiculously, there isn't one included with Andriod.

Password Safe - encrypted lockbox.  Splashdata has one, too, but Password Safe is more flexible, as of this writing.

WPtoGo is a handy Wordpress Blog publishing app, for those brave enough to post from a phone without spellcheck (I'll only post to my personal blog with this - I have higher standards for Idealware readers!)

And the Solitaire game up on the Market is very nice.


Overall, I'm loving this phone and I wouldn't trade it for anything else on the market - even an iPhone, because I live and die by that keyboard.  If it sounds good to you, I'm assuming that you use GMail; you actually write on your smartphone, or would if it had a good keyboard; and that you don't mind being a bit on the bleeding edge.  Otherwise, keep your eye on Android - this is the first of what will be many smartphones, and it's all brand new.  For the first iteration, it's already, at worst, the second best smartphone on the market.  It can only get better. 

Small Footprints, Robotic and Otherwise

As the proud owner of a T-Mobile G1, the first phone out running Google's Android Mobile Operating System (OS), I wanted to post a bit about the state of the Mobile OS market.  I've been using a smartphone since about 1999, when I picked up a proprietary Sprint phone that could sync with my Outlook Contacts and Calendar.  We've come a long way; we have a long way to go before the handheld devices in our pocket overcome the compromises and kludges that govern their functionality.  My personal experience/expertise is with Palm Treos, Windows Mobile, and now Android; but I have enough exposure to Blackberries and the iPhone to speak reasonably about them. My focus is a bit broader than "which is the best phone?"  I'm intrigued by which is the best handheld computing platform, and what does that mean to cash-strapped orgs who are wrestling with what and how they should be investing in them.

I wrote earlier on establishing Smartphone policies in your org.  The short advice there was that the key Smartphone application is email, and you should restrict your users to phones that offer the easiest, most stable integration with your office email system.  That's still true.  But other considerations include, how compatible are these phones with other business applications, such as Salesforce or our donor database? How easy/difficult are they to use and support? How expensive are they?  What proprietary, marketing concerns on the part of the vendors will impact our use of them?

The big players in the Smartphone OS field are, in somewhat random order:

  • Palm: PalmOS
  • Nokia: Symbian*
  • RIM: Blackberry OS
  • Microsoft: Windows Mobile
  • Apple: iPhone
  • Google: Android
Palm is the granddaddy of Mobile OSes, and it shows.  The interface is functional and there are a lot of apps to support it, but there isn't much recent development for the platform. Palm has been working on a major, ground -up rewrite for about two years, code-named Nova, but it has yet to come to light, and there's a serious question now as to whether they've taken too long.  Whatever they come up with would have to be pretty compelling to grab the attention of customers and developers in light of Apple and Google's offerings.
  • App Support: C (lots, but not much new; Treos do Activesync)
  • Ease of Use: C (functional, but not modern interface)
  • Cost: C (Not sure if there's much more than Palm Treo's available, $200-200 w/new contract)

Nokia's Symbian platform is notable for being powerful and open source.  It's more popular outside of the US, I'm not sure if there are any Symbian smartphones offered directly from US carriers, which makes them pretty expensive.  They do support Activesync, the Microsoft Exchange connector, and have a mature set of applications available.
  • App Support: B (Activesync, lots of apps, but missing some business apps, like Salesforce)
  • Ease of Use: B (Strong interface, great multimedia)
  • Cost: D (Over the roof in US, where contracts don't subsidize expense).

The Blackberry was the first OS to do push email, and it gained a lot of market and product loyalty as a result.  But, to get there, they put up their own server that subscribes to your email system and then forwards the mail to your phone.  This was great before Microsoft and Google gave us opportunities to set up direct connections to the servers.  Now it's a kludge, offering more opportunities for things to break.  They do, however, have a solid OS with strong business support - they are either on top or second to Microsoft (with Apple charging up behind them) in terms of number of business apps available for the platform.  So they're not going anywhere, they're widely available, and a good choice if email isn't your primary smartphone application.
  • App Support: A- (lots of everything except Activesync)
  • Ease of Use: B (Solid OS that they keep improving)
  • Cost: B (Range of models at decent prices)

Windows Mobile has broad third party support and powerful administrative functions.  It comes with Activesync, of course.  There are tons of smartphones running it, more than any other OS. But the user interface, in this writer's opinion (which I know isn't all that pro-Microsoft, but I swear I'm objective), is miserable.  With Windows Mobile (WinMo) 5, they made a move to emulate the Windows Desktop OS, with a Start Menu and Programs folder.  This requires an excessive amount of work to navigate.  If you use more than the eight apps (or less, depending on model/carrier), you have your work cut out for you to run that ninth app. And the notification system treats every event -- no matter how trivial -- as something you need to be interrupted for and acknowledge.  It's hard to imagine how Microsoft is going to compete with this clunker, and you have to wonder how the millions they spend on UI research allowed them to go this route.
  • App Support: A (tons of apps out there)
  • Ease of Use: D (the most clunky mobile OS.  Period.)
  • Cost: A (The variety of phones means you get a range of prices and hardware choices)

Apple's iPhone represents a leap in UI design that instantly placed it on top of the pack.  Best smartphone ever, right out of the first box.  Apple clearly read the research they commissioned, unlike Microsoft, and thought about how one would interact with a small, restricted device in ways that make it capable and expansive.  The large, sensitive touch screen with multi-touch capabilities rocks.  The web browser is almost as good as the one you use on your desktop (and this is important - web browsers on the four systems above are all very disappointing - only Apple and Google get this right).  The iPhone really shines, of course, as a multimedia device.  It's a full-fledged iPod and it plays videos as well as a handheld device could.  As a business phone, it's adequate, not ideal.  While it supports Activesync and has great email and voicemail clients, it lacks a physical keyboard and cut+paste -- features that all of their competitors provide (although the keyboard varies by phone model).  So if you do a lot of writing on your phone (as I do), this is a weak point on the iPhone.
  • App Support: A (it's still pretty new, but development has been fast and furious)
  • Ease of Use: A- (Awesome, actually, except for text processing)
  • Cost: B (since they dropped it to $199).

Android is Google's volley into the market, and it stands in a class with Apple that is far above the rest of the pack.  The user interface is remarkably functional and geared toward making all of the standard things simple to do, even with one hand.  The desktop is highly customizable, allowing you to put as many of the things you use a touch away.  This phone is in a class with the iPhone, but has made a few design choices that balance the two out.  The iPhone makes better use of the touch screen, with multi-touch features that Google left out.  But the iPhone is has far less customizable an interface.  And, of course, the first Android phone has a full keyboard and (limited) cut and paste.  It is, however, brand new, and I'll discuss the future below, but right now the third party app market is nascent.  Today, this phone is best suited for early adopters.
  • App Support: C (it will be A in a year or so)
  • Ease of Use: A
  • Cost: A (G1's are selling for as low as $150w/new plan)

The big question, if you're investing in a platform, is where are these all going?  Smartphone operating systems are more plentiful and competitive than the desktop variety, where Windows is still the big winner with Apple and the Unix/Linux variants pushing to get in.  But the six systems listed above are all widely deployed.  Palm and Nokia have the least penetration and press these days, but they're far from knocked out.  Nokia could make a big push to get Symbian into the market and Palm's Nova could prove to be really compelling -- at one point, Palm was king of these devices.  Today, the interesting battle is between the other four, Microsoft, RIM, Apple and Google.  Of these four, all but Android are commercial OSes; Android is fully open source.  RIM and Apple are hardware/software manufacturers, building their own devices and not licensing their OSes to others.  Windows Mobile and Android are available for any hardware manufacturer to deploy.  This suggests two things about the future:

Proprietary hardware/software combos have a tenuous lead.  RIM and Apple are at the top of the market right now.  Clearly, being able to design your OS and hardware in tandem makes for smoother devices and more reliability.  But this edge will wane as hardware standards develop (and they are developing).  At that point, the variety of phones sporting Windows and Google might overwhelm the proprietary vendors.  Apple is big now, but this strategy has always kept them in a niche in the PC market.  They dominate in the MP3 player world, but they got that right and made a killing before anyone could catch up; that edge doesn't seem to be as strong in the mobile market.

Open Source development won't be tied to the manufacturer's profit margin. Android's status as open source is a wild card (Nokia is Open Source, too, so some of this applies).  Apple and Microsoft have already alienated developers with some of their restrictive policies.  If Android gets wide adoption, which seems likely (Sprint, Motorola, HTC and T-Mobile are all part of Google's Open Handset alliance, and both AT&T; and Verizon are contemplating Android phones), the lack of restrictions on the platform and the Android market (Google's Android software store, integrated with the OS) could grab a significant percentage of the developer's market.  I've been pleased to see how quickly apps have been appearing in the first few weeks of the G1's availability.

If I were Microsoft, I'd consider isolating the WinMo development team from the rest of the campus.  Trying to leverage our familiarity with their desktop software has resulted in a really poor UI, but their email/groupware integration is excellent.  They need to dramatically rethink what a smartphone is -- it does a lot of the same things that a computer does, but it isn't a laptop.  Apple should be wondering whether their "develop your app and we'll decide whether you can distribute it when you're finished" approach can stand up to the Android threat.  They need to review their restrictive policies.  RIM has to fight for relevance - as customer loyalty, which they built up with their early email superiority fades, well, didn't you notice that Palm and RIM the only names in our list that don't have huge additional businesses to leverage?  And we, the smartphone users, need to see whether supporting Android -- which has lived up to a lot of its promise, so far -- isn't a better horse for us to run on, because it's open and extendable without the oversight of any particular vendor.

* I have to own up that I'm least familiar with Symbian; a lot of my analysis is best guess in this case, based on what I do know.

Biting the Hand - Conclusion

This is the final post in a three part series on Microsoft.  Be sure to read Part 1, on the history/state of the Windows operating system, and Part 2, on developing for the Microsoft platform.

Two More Stories - A Vicious Exchange

In late 2006, I moved an organization of about 500 people from Novell Groupwise to Microsoft Exchange 2007.  After evaluating the needs, I bought the standard edition, which supported message storageup to 16GB (Our Groupwise message base took up about 4GB).  A few days after we completed the migration, which included transferring the Groupwise messages to Exchange, an error popped up in the Event Viewer saying that our message store was larger than the 16GB limit, and, sure enough, it was - who knew that Microsoft messages were so much larger than Groupwise messages? 

The next day, Event Viewer reported that our message store was too large and that it would be dismounted at 5:00 am, meaning that email would be, essentially, disconnected.  Huh?  I connected remotely the next morning and remounted at about 5:10.  I also scoured the Microsoft Knowledgebase, looking for a recommendation on this, and found nothing.  I called up my vendor and ordered the Enterprise version of Exchange, which supports a much larger message store.  A couple of days later, same thing.  My new software hadn't arrived yet.  The next day, the message changed, saying that our message store was too large and would be dismounted randomly! What!?  This meant that the server could go down in the middle of the business day.  The software arrived, and I tossed the box on my desk and scheduled to come in on Sunday (which happened to be New Year's Day, 2007) to do the upgrade. But when I opened the box, I discovered that my vendor had sent me Enterprise media, yes, but it was for Exchange Server 2005, the prior version.  I was hosed.

Frantic, I went to Google instead of the knowledge base and searched.  This yielded a blog entry explaining that, with Exchange Server 2007 Service Pack 2 (which I had applied as part of the initial installation), it was now legal to have message stores of up to 75GB.  All I had to do was modify a registry entry on the server - problem solved.  Wow, who woulda thunk?  Particularly if this had been documented anywhere on the Microsoft Knowledgebase?

But here's my question: What Machiavellian mind came up with the compliance enforcement routine that I experienced, and why was my business continuity threatened by code designed to stop me from doing something perfectly legal under the Service Pack 2 licensing?  This was sloppy, and this was cruel, and this was not supportive of the customer.

Cheap ERP

In early 2007, I hired a consultant to help with assessing and developing our strategic technology plan.  This was at a social services agency, and one of our issues was that, since we hired our clients, having separate databases to track client progress and Human Resources/Payroll resulted in large amounts of duplicate data entry and difficult reporting. The consultant and I agreed that a merged HR/Client Management system would be ideal. So, at lunch one day, I nearly fell off my chair laughing when he suggested that we look at SAP.  SAP, for those who don't know, is a database and development platform that large companies use in order to deploy highly customized and integrated business computing platforms.  Commonly referred to as Enterprise Resource Planning (ERP) software, it's a good fit for businesses with the unique needs and ample budgets to support what is, at heart, an internally developed set of business applications.  The reason I found this so entertaining was that, even if we could afford SAP, then hiring the technical staff to develop it into something that worked for us would be way beyond our means.  SAP developers make at least six figures a year, and we would have needed two or more to get anywhere in a reasonable amount of time.  It's unrealistic for even a mid-sized nonprofit to look at that kind of investment in technology.

So Microsoft holds a unique position -- like SAP, or Oracle, they offer a class of integrated products that can run your business.  Unlike SAP or Oracle, they're pretty much what they are - you can customize and integrate them, at a cost, but you can't, for instance, extend Microsoft's Dynamics HR package into a Client Management System.  But, if you have both Dynamics and Social Solutions, which runs on Microsoft SQL Server, you'd have a lot more compatibility and integration capabilities than we had at our social services org, where our HR system was outsourced and proprietary and the client management software ran on Foxpro.

Bangs for the Buck

So this is where it leaves me - Micosoft is a large, bureaucratic mess of a company that has so many developers on each product that one will be focusing on how to punish customers for non-compliance while another is making the customers compliant.  Their product strategy is driven far less by customer demands than it is by marketing strategy.  Their practices have been predatory, and, while that type of thing seems to be easing, there's still a lot of it ingrained in their culture.  When they are threatened -- and they are threatened, by Google and the migration from the desktop to the cloud -- they're more dangerous to their developers and customers, because they are willing to make decisions that will better position them in the market at the cost of our investments. 

But Microsoft offers a bargain to businesses that can't -- and shouldn't - spend huge percentages of their budget on platform development.  They do a lot out of the box, and they have a lot of products to do it with.  Most of their mature products -- Office, Exchange, SQL Server -- are excellent.  They're really good at what they do.  The affordable alternative to the commercial ERP systems like SAP and Oracle is open source, but open source platforms are still relatively immature.  Building your web site on an open Source CMS powered by PHP or Ruby on Rails might be a good, economical move that leaves you better off, in terms of ease of use and capabilities, than many expensive commercial options.  But going  open source for Finance, HR and Client Tracking isn't really much of an option yet.  The possibly viable alternatives to Microsoft are commercial outsourcers like NetSuite, but how well they'll meet your full needs depends on how complex those needs are - one size fits all solutions tend to work better for small businesses than medium to large ones.

Finally, it's all well and good to talk about adopting Microsoft software strictly on its merits, but, for many of us, it has far more to do with the critical, non-Microsoft applications we run that assume we're using their products.  For many of us, considering alternatives like Linux for an operating system; Open Office or Google Apps for productivity; or PHP for our web scripting language are already nixed because our primary databases are all in SQL Server and ASP.  At the law firm where I work, we aren't about to swap out Word for an alternative without the legal document-specific features that Microsoft richly incorporates into their product.  But it leaves me, as the technology planner, in a bit of a pickle. Windows XP, Office 2003/2007, Exchange 2007, SQL Server 2007, and Windows Server 2003 are all powerful, reliable products that we use and benefit from, and the price we paid for them, through Techsoup and their charity licensing, is phenomenal.  But as we look at moving to web-based computing, and we embark on custom development to meet information management and communication needs that are very specific to our organization, we're now faced with adopting Microsoft's more dynamic and, in my opinion, dangerous technologies. 

This would all be different if I had more reason to trust the vendor to prioritize my organization's stability and operating efficiency over their marketing goals.  Or, put differently, if their marketing philosophy was based less on trying to trump their competition and more on being a dependable, trustworthy vendor.  They're the big dog, just about impossible to avoid, and they make a very compelling financial argument -- at first take -- for nonprofits.  But it's a far more complicated price break than it seems at first glance.

Biting the Hand Part 2

This is part two of a three part rumination on Microsoft.  Today I'm discussing their programming environment, as opposed to the open source alternatives that most nonprofits would be likely to adopt instead.  Part one, on Windows, is here:

Imposing Standards

In the early days of personal computing, there were a number of platforms - IBM PC, Apple Macintosh, Amiga, Commodore, Leading Edge... but the first two were the primary ones getting any attention from businesses. The PC was geeky, with it's limited command line interface; the Macintosh was cool with it's graphics. But two things put the PC on top. One was Dan Bricklin's VisiCalc, the first spreadsheet.  A computer is a novelty if you have no use for it, and VisiCalc, as it's modern equivalents are today, was extremely useful. But the bigger reason why the PC beat out the Mac so thoroughly was that the Mac had a strict set of rules that had to be followed in order to program for it, whereas anyone could do pretty much anything on a PC.  If you knew Assembler, the programming language that spoke to the machine, you could start there and create whatever you wanted, with no one at IBM telling you with languages and libraries to use, or what you were allowed or not allowed to do.  As Windows has matured and gained the bulk of the desktop operating system market, Microsoft has started emulating Apple, raising the standards and requirements for Windows programming in ways that make it far less appealing to developers. 

Unlike the early days, when no one had much market share, Windows is now the standard  business platform, so there are a lot more reasons to play by whatever rules Microsoft might impose.  So, today, being a Windows programmer is a lot like being a Mac programmer.  If you're going to have the compatibility and certification that is required, you're going to follow guidelines, use the shared libraries, and probably program in the same tools as every other Windows programmer.  The benefit is standardization and uniformity, things that business computer users really appreciate.

Accordingly, the Microsoft platform, which used to run on pretty much all PCs, now faces competition from Linux and other Unix variants, and for much the same reasons that IBM beat out Apple in those early days. What appeals to Java, PHP, Rails and other open source developers is very much the same thing that brought developers to the PC in the first place, and Microsoft's arguments for sticking to their platform are much like Apple's - "it's safer, it's well-supported, it's standardized, so a lot of the work is done for you".  I would argue with each of these claims.

Is it Safer? 

The formal programming environment is supposedly more secure, with compiled code and stricter encoding/encryption of data in their web services model.  But it seems that the open source model, with, for the major apps, a multitude of eyes on the code, is quicker to fnd and fix security glitches.  Microsoft defenders will argue that, because Microsoft lives in a commercial ecosystem, with paid training and support, that support is more widely available and will continue to be avaailable, whereas open source support and training is primarily community-based and uncompensated. But my experience has been that finding forums, how-to's and code samples for PHP, Python and Rails has always been far easier than finding the equivalent for ASP and C#.  In the open surce world, all code is always available; in the MS world, you either buy it or you pay someone to teach you.

Is it Easier? 

The bar for programming on Microsoft's platform is high. To create a basic web application on the Microsoft platform, or to extend an existing application that supports their web programming standards, you, at a minimum, need to know XML; a scripting language such as Visual Basic or C#; and Active Server Pages (ASP).  Modern scripting languages like Ruby on Rails and PHP are high level and relatively easy to pick up; RAILS, in particular, supports a rapid application develoment model that can have a functional application built in minutes.  These languages support REST, a simple (albeit less secure) way of transmitting data in web applications.  Microsoft depends on SOAP, a more formal and complex method. A good piece on REST versus SOAP links here.

Is it Standardized? 

Well, this is where I really have the problem.  MS controls their programming languages and environments.  If you develop MS software, you do it in MS Visual Studio, and you likely code in a C variant or Visual Basic, using MS compilers.  Your database is MS SQL Server. Visual Studio and SQL Server are powerful, mature products - I wouldn't knock them.  But Microsoft has been blazing through a succession of programming standards that a cheetah couldn't keep up with over the years, revamping their languages rapidly, changing the recommended methods of connecting to data; And generally making the job of keeping up with their expectations unattainable. So while their platform uses standardized code and libraries in order for developers to produe applications with standardized interfaces, the development tools themselves are going through constant, dramatic revisions, far more disruptive ones than the more steady, well-roadmapped enhancing of the open source competition. 

Mixed Motives

The drivers for this rapid change are completely mixed up with their marketing goals.  For example, MS jumped on the web bandwagon years ago with a product called Frontpage.  Frontpage was a somewhat simplistic GUI tool for creating web pages, and it was somewhat infamous for generating web sites that were remarkably uniform in nature.  It was eclipsed completely by what is now Adobe's Dreamweaver.  If you try and buy Frontpage today, you'll have a hard time finding it, but it didn't go away, it was simply revised and rebranded. Frontpage is now called "Sharepoint Designer".  It's a product that Microsoft recommends that Sharepoint administrators and developers use to modify the Sharepoint interface.  Mind you, most of your basic Sharepoint modifications can be made from within Sharepoint, and anything advanced can and should be done in Visual Studio.  There's no reason to use this product, as most of what it does is easier to do elsewhere. 

So it comes down to time, money and risk.  The MS route is more complex and more expensive than the open source alternatives.   The support and training is certified and industrialized. All of this costs money - the tools, the support, the code samples, and the developers, who generally make $80-150k a year.  The platform development is driven by the market, which leads to a question about it's sustainability in volatile times for the company.  As concluded in part one, Microsoft knows that the bulk of their products will be obsolesced by a move to Software as a Service.  The move from O S-based application development to web development has been rocky, and it's not close to finished.   

Look for part 3 sometime next week, where I'll tie this all up.

Biting the Hand that Bites Me as it Feeds Me? Part 1

Like many of us, I've been using Microsoft products for a long, long time, and I appreciate many of them. Microsoft is a significant vendor, period, with their dominance in operating systems, productivity applications and, well, most everything else software-related. But they are a particularly compelling vendor in the nonprofit sector. I've often noted that, should Microsoft ever take over the world, they would at least be benevolent dictators. As evidence, we have the great work of the Bill and Melinda Gates Foundation and their long-established support for charitable institutions, by way of their affordable licensing to 501(c)3's and generous amount of software donations, via Techsoup and otherwise.

But, hey, I wouldn't be heaping all of this praise on them if I didn't have a few criticisms, and these are criticisms developed through the eyes of a long-time technology strategist. In addition to using Microsoft software, I've beta-tested it, I've developed on the platform, and I've been deploying it since the early 1990's. I've run into my share of frustrations. 20 or so years into my relationship with this vendor, I still find myself ridiculously attracted to and repelled by their applications and platforms. So I want to spend a few blog posts talking about one IT Director's history with Microsoft, and some of the lessons learned and ongoing concerns I have with the software vendor that I've had the longest, largest relationship with in my career.

To start, I just want to let off a little steam about the flagship product, Windows. I'll follow this up over the next few weeks discussing their development environment and general philosophy, before tying it up with some commentary about the choices we, as nonprofits, can make. There will be no bold conclusion here, or any strong recommendation to dive in or stay away from their products - there are compelling arguments for doing both. But my hope is that I can ruminate a little bit on the main challenges I see in dealing with them.

Early Predatory Business Practices

My IT career started about 1991 at a small San Francisco Law Firm. Vendor lock-in was big at law firms in the 90's, but the vendor was Wordperfect Corp., not Microsoft. Attorneys swore by Wordperfect for DOS, and bought anything else that they sold. So, when Novell, our networking software vendor, bought DR-DOS and released it as a free, feature-rich MS-DOS replacement for Novell customers, it made little sense not to use it. This proved to be my first -- and early -- introduction to Microsoft's established predatory practices. MS wrote code into a beta of Windows 3.1 which basically said "If this isn't running on top of MS-DOS, tell the user that it will crash." This became known as the AARD Code, and it wasn't removed from the actual Windows 3.1 release; just modified to not display.

Microsoft, famously, either engaged in or was highly assumed to be engaging in numerous other unfair practices, from hiding code in Word and Excel that made them faster and stabler on Windows than competing applications, to stealing product ideas, and to leveraging their desktop operating system dominance in order to put competing products out of business, the latter practice being one that they were found guilty of and fined for. The Consumer Federation of America has an excellent article summarizing and referencing all of the real and alleged abuses leading up to the ruling.

Today, Microsoft seems to be a bit less arrogant and more on the up and up. They've made conciliatory moves in the open source community, as their dominance in the industry seems to be waning a bit. This is largely in the realm of new technology, such as Software as a Service (SaaS) offerings. On the traditional servers and desktops, they're still everywhere.

Dragging the Legacy Behind Them

In the 80's and 90's, Microsoft displayed a brilliant talent for buying or building the right thing at the right time. I might have deployed a competing version of DOS, but I'm one of the very few. They hit the zeitgeist with Windows, which borrowed heavily from the Apple Macintosh (which, in turn, was inspired by work done at Parc Xerox), but the combination of a GUI on top of DOS -- an OS that could run on any number of manufacturer's PCs -- allowed it to soar to the top of the market share very quickly.

Note that MacOS was a graphical OS, whereas Windows was a graphical application that ran on top of DOS, a character-based OS. And even when Microsoft claimed to let go of that legacy with the release of Windows NT (NT for "New Technology") it wasn't fully severed. I found this out when I hired a consultant to help me with a crashed SCSI drive on a critical server. He brought the wrong replacement drive, but decided that there might be something else that he could do. In order to test his theory, he renamed the "C:" drive on my Windows NT 4.0 server to "E:", after which, the server could not boot. I couldn't help wondering why an operating system that had dropped it's legacy roots was still crippled by as artificial a limitation as the boot drive requiring the label "C:".

Decades Later...

If this were all ancient history, it would be fine, but when we look at Vista, which was pitched to us as a revolutionary new version of Windows, much like Windows 95 and Windows NT before it, what we really see is a revamped graphical interface on top of a ton of code, some of it likely dating back at least 15 years. They've rewritten the graphics and they've modified the basic code to operate at 64 bits, but they've included all of the 32 bit code as well, to support all of the "legacy applications" that are still being developed. And, believe me, there's 16 bit (Windows 3 compatible) and 8 bit (DOS-compatible) code in there as well.

This isn't a Mac vs Windows article, but there is one thing that Apple has done extremely right that Microsoft should really consider. When MacOS grew to version 9, they canned it. They took a healthy Unix variant (BSD), built a brand new GUI on it, and, while they included OS9-compatible code in the initial release, it was isolated from the current code base - you had to boot specially into it. This allowed Apple to create a modern GUI that does everything Windows does more on a faster and stabler platform. Early reports on Windows 7 -- which Microsoft is rushing out in order to recoup from the damage that Vista has done -- are that it's pretty much Vista with a face lift. They're not letting go of the legacy, and, as a result, they're asking us to buy faster systems with much more memory in order to subsidize their rushed and sloppy development choices. It doesn't bode well.

But, while Microsoft is continuing down the same superhighway that the Windows code has traveled since the early days of DOS, they are developing their own competition online. The question is, have they decided that investing in actually fixing Windows is too little and too late a strategy in the face of cloud computing and SaaS? It's an interesting question, because it implies that our choices for staying with the vendor will mean living with Windows, as it is, or trusting Microsoft as an outsourced provider of computing infrastructure. That's a proposition that I find easier to take from vendors who haven't tried to lock me out of competing products in the past.

Next up

But this is only the beginning of the discussion. I'll continue next week on their history with developers and their general philosophy of software, and I'll come back to this point in the conclusion. Part 2 is here.

From Zero to Sixty: What type of Project Management tool is appropriate?

It seems like every month or two, I happen across a forum thread about project management tools. What works? Can you do it with a wiki? Are they necessary at all? Often, there are a slew of recommendations (Basecamp, Central Desktop, MS Project) accompanied by some heartfelt recommendations to stay away from all of them. All of these recommendations are correct, and incorrect.

Project software naysayers make a very apt point: Tools won't plan a project for you. If you think that buying and setting up the tool is all that you need to do to successfully complete a complex project, you're probably doomed to fail. So what are the things that will truly facilitate a project-oriented approach, regardless of tools?
  • Healthy Communication. The team on the project has to be comfortably and consistently engaged in project status and decisions

  • Accountability. Team members need to know what their roles are, what deliverables they're accountable for and when, and deliver them.

  • Clarity, Oversight and Buy-In. Executives, Boards, Backers all have to be completely behind the project and the implementation team.
With that in place, Project Management tools can facilitate and streamline things, and the proper tools will be the ones that best address the complexity of the project, the make-up of the team, and the culture of the team and organization.

Traditional Project Management applications, exemplified by MS Project, tie your project schedule and resources together, applying resource percentages to timeline tasks. So, if your CEO is involved in promoting the plan and acting as a high level sponsor, then she will
be assigned, perhaps, as five percent of the project's total resources, and her five percent will be sub-allocated to the tasks that she is assigned to. They track dependencies, and allow you to shift a whole schedule based on the delay of one piece of the plan. If task 37 is
"order widget" and that order is delayed, then all actions that depend on deployment of the widget can be rescheduled with a drag and drop action. This is all very powerful, but there is a significant cost to defiing the plan, initially inputting it, and then maintaining the information. There's a simple rule of thumb to apply: If your project requires this level of
tracking, then it requires a full-time Project Manager to track it. If your budget doesn't support that, as is often the case, then you shouldn't even try to use a tool this complex. It will only waste your time.

Without a dedicated Project Manager, the goal is to find tools that will enhance communication; keep team members aware of deadlines and milestones; report clearly on project status; and provide graphical and summary reporting to stakeholders. If your team is spread out geographically, or comprised of people both inside and outside of your organization, such as consultants and vendors, all the better if the tool is web-based. Centralized plan, calendar, and contacts are a given. Online forums can be useful if your culture supports it. Most people aren't big on online discussions outside of email, so you shouldn't put up a forum if it won't be used by all members. The key is to provide a big schedule that drills down to task lists, and maintain a constant record of task status and potential impacts on the overall plan. Gantt Charts allow you to note key dependencies - actions that must be completed before other actions can begin -- and provide a visual reporting tool that is clear and readable for your constituents, from the project sponsors to the public. Basecamp, Central Desktop, and a slue of web-based options provide these components.

If this is still overkill - the project isn't that complex, or the team is too small and constricted to learn and manage the tools, then scale down even further. Make good use of the task list and calendar functions that your email system provides, and put up a wiki to facilitate project-related communication.

What makes this topic so popular is that there is no such thing as a one size fits all answer, and the quick answer ("Use Project") can be deadly for all but the most complex projects. Understand your goals, understand your team, and choose tools that support them.
Syndicate content