NGES in 60 seconds

As you know, we recently made NewsGator Enterprise Server free for up to 20 users. We’ve had quite a bit of response to this – thanks to everyone who has downloaded and is using it!

On a somewhat related note, I’ve decided to make a series of 60-second screencasts demonstrating some of the features of NGES. The first of these is below, on the integrated tagging features.

Why 60 seconds? I mean, as someone mentioned to me last week, the shorter the video the harder it is to edit (so true). My thought here is, everyone has time to watch a quick 1-minute video of something cool…but much more than that is tougher. So, I’m going to give the 60-second thing a shot, and we’ll see how it goes. Feedback would be appreciated!

So on to the first video. This shows the tagging system in NGES:


 
The YouTube version is a bit hard to see due to the size and quality; click here for higher quality QuickTime version.

8 months with the iPhone

It’s been about 8 months since I started using an iPhone. Oddly, I wasn’t even interested at the time; I got the phone as a freebie for going to the Office 2.0 conference in 2007, and it sat on my desk for a week before I even activated it. Color me unexcited.

But then, things changed. Turned out I did like it, a lot. It was “fun”. I’m a sucker for fun gadgets. I switched my regular phone number over about a week later, and I’ve been using it ever since.

So the other day, I was out to lunch with someone, and he asked how I liked it. And while I was answering, I had two interesting realizations:

1. It’s still fun. I mean, all the little animations and eye candy. The little things. Could I live without them? Sure. But having them there somehow makes the whole experience continue to work.

2. It’s the first “smart” phone I’ve ever had that didn’t annoy me. I mean, really. Smartphones I’ve had in the past (from Audiovox, Motorola, Palm, and others) all eventually sucked at the little things. You know, like making phone calls. Sometimes I’d find that the phones were too busy doing something (gosh knows what exactly) to even let me make a call. Or too busy to ring when a call was coming in. Sometimes they’d lock up. Sometimes they’d get into a weird mode where anything I did would take 10+ seconds. Sometimes they’d make me want to throw them against a wall.

But oddly, the iPhone has done none of these things. It’s not perfect by any means – it’s got a few little bugs…but at risk of sounding like a fanboy, I have to say it works better as a phone than any phone I’ve had in the last 3 years.

And that is something I never thought I’d say.

NewsGator and APML

Back when we announced that NewsGator’s RSS clients are now free, I also mentioned that we’d be supporting APML across the entire platform. Some of our client applications implement exporting APML at the moment…but we’ve now implemented a persistent APML endpoint in our online platform. What this means is, if you’re using sync with NewsGator Online, there is a well-known URL that represents your APML attention data.

This APML endpoint can be either public or private – it’s your choice. If it’s private, it will require your NewsGator Online credentials to access. If it’s public, anyone can access it.

Here’s how to enable this:

1. From NewsGator Online, sign in and then click on the “Settings” item at the top right.

2. You’ll now see four tabs; click on “Edit Locations”.

These “locations” are actually groups of feeds; you’ll see at least one location for “NewsGator Web Edition”, and you’ll see one location for each client you’re using. Each location forms a subset of your overall list of feeds. You can control which feeds are mapped to each location by using the “Feeds” link next to each location.

3. Next to each location, you’ll see a link for “APML” – click that link.

4. You will then see your individual APML URL for that particular set of feeds. If you wish to make it public (or private), use the checkbox on that page.

At the moment, we’re exposing feed-level attention data; we have more detailed data available, but it’s not being exposed at the moment.

Let us know if this is useful, and any suggestions you have!

NewsGator Enterprise Server free for 20 users!

Ever since we first shipped NewsGator Enterprise Server back in 2005, I’ve had this blog post in the back of my mind. We never had an easy way for folks to actually take a look at the product, and kick the tires for themselves. We had demos, webinars, conferences, and all that…but you couldn’t actually download it and try it for yourself, without buying it (or entering a trial agreement).

Well today, all that changes. You can now download a free 20-user version of NewsGator Enterprise Server, install it, and use it!

Why would we do such a crazy thing? We want more people to see it. More feedback. More visibility. This product has been extremely successful – our customer list reads like a who’s who of the Fortune 500 – but it’s been primarily deployed in larger installations. But what about smaller companies, or individual departments within companies? This will hopefully remove the barriers involved in trying out these technologies. And in the latter case, we’re confident it will lead to larger sales as the deployment grows beyond the initial 20 users.

But for those first 20 folks, it’s free! As in beer.

There’s only one catch, and it’s not really a catch. Regular paying customers get dedicated support from our enterprise support team…but if you download the free version, FAQs and community support will be via the forums. That should be ok, though – we really don’t think you’re going to have many problems. One caveat, though – this is a server product, and the installation process will ask you questions about your Active Directory or LDAP configuration and such. If you don’t think you can answer those questions, you might want to find someone to help you install it.

In case you can’t tell, I’m totally excited about this. But enough of me rambling…here is the NewsGator Enterprise Server product site, technical requirements, and the download page. (you’ll have to fill out a form to download, but don’t worry, it’s short.)

Vote for the new NewsGator video!

The second round of the Enterprise 2.0 Launchpad videos are online, including a new video from NewsGator. We took a different approach than the others – rather than just a screencast, we made a spoof of The Office, showing how NewsGator Social Sites totally rocks all over the status quo.

So if you can spare two and a half minutes to watch it, head on over and vote for us! The 4 winners will be presenting their solutions on stage at Enterprise 2.0…and I promise you’re going to want to see the new stuff we’ll have at the show. :-)

Here’s the voting link: http://launchpad.enterprise2conf.com/. Make me proud!

Independent developer life

I enjoyed reading Shawn Blanc’s interview with Daniel Jalkut. I had the pleasure of working personally with Daniel when he acquired MarsEdit from us, and got to know him a little bit through that process (although never met in person).

One question that caught my eye – Shawn asked him what an average day looks like, and this was Daniel’s response:

That said, I’m still pretty disorganized in this regard, so in all honesty, a typical day for me is to wake up and immediately start working. The hours then surrender to tackling bug fixes, implementing features, responding to customer support inquiries, and trying to squeeze in some socializing via chat and Twitter.

Left to my own devices I will work all day and into the night, so I’ve developed some tricks to get myself away from the computer. Forcing myself to take a shower, make lunch, go to the gym, etc., are good ways of punctuating the work with other activities. This is something I hope to write more about in my blog, because as I said, it fascinates me.

It’s funny to read this…when NewsGator was just me, and I was still running it all in my house, this was exactly my situation. I found I had to have a “routine” – I would shower in the morning by 11am at the latest, and I would nearly always go have lunch with friends (or at very least get out of the house and eat). Otherwise, I would find myself getting hungry about 3pm, have a quick snack, and the next thing I would know it would be midnight and I’d be hungry again, wondering where the day went.

And there’s an advantage to all those lunches – many of the folks I ate with gave me some free consulting over burritos, and now work at NewsGator. :-)

On routers, Time Capsule, and Back to My Mac

This last week, I was working on getting Back to My Mac working on my computers. This requires everything in your router (specifically UPnP or NAT-PMP) to be working just so…and it wasn’t. :-) I had a Linksys BEFSR41, which is on Apple’s supported list, but no love. UPnP was enabled, but nothing.

So then I get the crazy idea to just unplug the router’s power, and then plug it back in. I mean, if all else fails, power cycle, right? Well lo and behold, it started working…who would have thunk? So then I’m playing with Back to my Mac, and it’s all looking good. For a while.

Then my router started getting flaky. Like, every few minutes it would stop responding in the admin interface, and connections to the internet would be stopped. The only way to fix it was to either wait a few minutes for it to come back, or power cycle it. Clearly this was not going to be ok.

So I went down to the Apple store (about 5 minutes away), and bought the last 500GB Time Capsule they had in stock. I was thinking about doing this anyway, since I wanted 802.11n in the house, but a dead router was a great excuse to do it sooner rather than later. Got the Time Capsule home, plugged it in, everything worked as expected. Actually, not everything worked right away – I had to power cycle my cable modem to get things talking to each other – but after that everything was great. And Back to My Mac is working fine.

On the storage side of things, I switched my Time Machine backups to use the drive in the Time Capsule; again, everything worked as expected. I’m seeing about 10MB/sec doing backups over a gigabit ethernet network – not stellar, but it’s fast enough for what I’m using it for. And it’s working about 5x faster than Glenn Fleishman is seeing in his Macworld first look, for some reason. I won’t complain about mine. :-)

Mac Pro performance

I’ve been torturing myself with the idea of buying a Mac Pro for a while…I mean, come on – 8 cores, for $2799? So last week, I finally broke down and pulled the trigger. But of course it didn’t stop there – I added another 10GB for a total of 12GB of RAM, and added a couple of disk drives as well.

It certainly “feels” fast – but I wanted to actually make some measurements, to see if it was just my imagination. I could run benchmarks, but that didn’t sound like much fun. So instead, I ran a process in Adobe Lightroom 1.3.1 to create 1:1 previews for 211 raw images (compressed NEF format from a Nikon D200), which is roughly 1.75 GB of files.

Here’s what I did. And yes, I’m apparently geeky enough that this sounded like fun. :-)

On the Mac Pro and the Macbook Pro, I generated these 1:1 previews in an existing Lightroom catalog with about 12,000 images in it. On all other systems, I generated the previews in a brand new catalog with nothing in it other than these 211 photos.

All of the virtual machines mentioned below are using VMWare Fusion, running on the Mac Pro.

Here are the configurations I ran, and the results:

Mac Pro, 2 x 2.8 GHz Xeon, 8 cores, 12GB RAM, OS X 10.5.2
CPU utilization between 350-400% throughout
Total time 5:36, average 1.59 sec/image

Macbook Pro, 2.2 GHz Core 2 Duo, 2 cores, 4GB RAM, OS X 10.5.2
CPU utilization between 150-200%
Total time 13:35, average 3.86 sec/image

Dell XPS 420, 2.8 GHz Pentium D, 2 cores*, 3GB RAM, Windows XP SP2
CPU utilization about 50%
Total time 27:00, average 7.68 sec/image

Virtual machine, 2 processors, 3GB RAM, Windows XP SP2
CPU utilization between 150-200%
Total time 8:58, average 2.55 sec/image

Virtual machine, 1 processor, 3GB RAM, Windows XP SP2
CPU utilization about 100%
Total time 15:12, average 4.32 sec/image

Virtual machine, 2 processors, 3GB RAM, Windows Vista
CPU utilization between 150-200%
Total time 8:29, average 2.41 sec/image

* – not sure why this process on the Pentium D only seemed to be using a single processing core, that’s what happened when it ran.

Clearly the Mac Pro is pretty darn fast, and Lightroom interestingly appears to use up to 4 processing cores. The VM data was interesting to see, as well; I can run Windows XP in a VM dramatically faster than running it on my (admittedly old) Dell XPS 400. I wish I had a Core 2 Duo windows machine handy that I could try this on – would be interesting to compare that data with the virtualized Xeon processors on the Mac Pro.

UPDATE 10/30/2008: Additional data from Lightroom 2.0 and 2.1, on OS X 10.5.5, comparing 32-bit and 64-bit performance.

Amy Davis – American Idol

For the first time ever, I’ve started watching American Idol this year. And imagine my surprise when I see that Amy Davis is one of the final 24 contestants.

Just over a year ago, I spent a week on a small island near St. Thomas, doing a series of photo shoots. One of the models was Amy Davis. I remember thinking wow, beautiful and talented model…but then I heard her sing – and omigosh, I was at a loss for words. :-)

Anyway, Amy’s a sweetheart…and I’ve got literally hundreds of photos of her. So in the interest of helping her win, I’m going to post one previously unpublished photo here every week she stays in the competition. Vote for her, and you get another photo. :-)

Here’s the first one of Amy, wearing a NewsGator shirt, of course using NewsGator Go! on her Treo (this was shot as part of a shoot for a potential ad campaign which we never ran):

Amy582.jpg

There are a couple more shots (swimwear, fashion) of her in my photography portfolio – go take a look if you’d like!

NewsGator feed retrieval intervals

I was just reading an article about Google Reader and their retrieval intervals, and thought this might be a good time to write about what NewsGator Online does. This is relevant for not only online users, but anyone who is using one of our clients (FeedDemon, NetNewsWire, Inbox, Go!, etc) in sync mode, since in that mode the clients retrieve content from our online system.

One of the more common questions/complaints we get is something about a feed not appearing to update in a timely manner. 99% of the time, it’s actually a problem with the feed – but I’ll come back to that.

There are about 2.5 million feeds in our system, and these feeds get divided into categories. They have fancy (and sometimes amusing) internal names, but for now I will describe them as follows. Also keep in mind these rules are subject to change, and in fact do change quite often to better optimize the experience for our users and our overall system load.

And before I get into all of this…note that feeds that ping our system will be updated and available typically within 60 seconds. The category the feed is in is largely irrelevant.

Category A: these are feeds that are needed by certain commercial syndication services customers with extremely tight SLAs – some of these SLAs guarantee content available within 2 minutes of publication in a feed. Feeds in this category are retrieved every 60 seconds. Exception – if a feed reliably pings our system with updates, the poll-retrieval interval may be dropped to a lower category; however, if the feed does not appear to ping us with every update, the 60 second interval remains in effect.

Category B: these are feeds with over 20 subscribers, or occasional feeds that for whatever reason are deemed “important” enough to keep in this category. Retrieval interval is 15 minutes.

Category C: these are feeds with 2-19 subscribers, and any feed that requires credentials to access. These feeds are retrieved every 1-2 hours depending on system load.

Category D: these are feeds with only 1 subscriber, which do not require credentials. If that subscriber is an “active user”, interval is 1-2 hours. If that subscriber is not very active, interval is 4-8 hours depending on load. The definition of “active” changes, but think of it as people who use the system daily-ish.

Category E: this is what we affectionately call the “penalty box.” These are feeds which have returned some kind of error, and they are “penalized” for it. For example – if a feed 404’s, it is immediately penalized for 24 hours. A 500 server error? 4 hours. Other kinds of errors (including parsing problems) cause penalties of varying lengths, taking into account how many consecutive errors we see. If a feed continues to have errors for 90 days, it will be blacklisted and no longer retrieved at all…and the only way for a feed to get off the blacklist is for it to a) fix the error(s) and then b) ping us. [I should add that 410 (gone) is not considered an error; feeds that return a 410 are immediately removed and all subscribers are unsubscribed.]

Category F: this is somewhat of a grab bag of other cases. The most visible type of feed in this category is craigslist feeds – we retrieve them on a 48-hour interval. This sucks – for you, for me, for everyone – but the problem is craigslist will throttle and blacklist us, and they seem not to be interested in solving this problem with us (we’re also not the only ones with this problem). So 48 hours is roughly the minimum interval we can get away with and minimize the chances of getting blacklisted (which takes days to undo).

By far the best way to help ensure timely updates to content is to encourage publishers to ping our system when they update (I talk about NewsGator’s ping endpoint here). A large number already do this – but there are some folks who do not. If they’re using FeedBurner, we’re already getting pinged; if they’re using another system, they may need to add NewsGator to their ping list manually. But typically, after a ping, updated content is available within 60 seconds. And as mentioned, a ping can even remove content from our blacklist.

We get a fair number of inquiries in the forums and elsewhere about feeds not updating; in nearly all of those instances, everything is actually working fine – the feed has usually fallen into category E for whatever reason. Something I’ve been thinking about is some kind of status page or something where someone can type in the name of a feed, and we’ll display status for that feed (including why it’s in the penalty box if it is)…we’ve resisted doing this because it’s just one of those things our users shouldn’t have to worry about.