Microsoft Max

The new Microsoft Max incorporates news reading now. This has to be the most compelling way of displaying articles from a feed I’ve ever seen. It feels like your reading a online newspaper. I’m amazed. Now why didn’t I think of that? They are using timeline, and the size of the content, including embedded images, to calculate what size ‘news cell’ to place the article in, and how to group the various cells together into larger ‘pages’. Compared to the traditional top down rectangular news view everyone is familiar with, this is light years ahead. Slick. Max apparently makes use of the new “Windows Presentation Foundation” (Avalon) for it’s UI. Man, suddenly all the apps I’m working on just feel so, dated. 🙂 The UI is amazing, check it out.

Everything about this interface is super slick – every button and control has a slight, fade in animation and graphical change for state changes. The graphics and backgrounds are all very rich, every interface control is simple, and clutter free. The app uses a system of main tabs to block out the various areas of functionality – which is the same approach I’m taking in Daisy – although Daisy has a long way to go UI wise before it get this good. I’m also impressed with the new Presentation Foundation, there’s no flicker, and everything redraws smoothly on resize, with components sliding smoothly into place. One of the biggest complaints about Windows Forms I’ve had is the flicker problem on drawing – with presentation foundation this aspect of the user interface has been perfected. Nice.

IE7 Beta 3 RSS Platform Improves

Kudos the guys at Microsoft working on the RSS Platform. I fired up Daisy today for the first time since upgrading and found I needed to recompile due to changes. I’ve noticed a few really nice things already-

1) The FEEDS_EVENTS_SCOPE.FES_ALL is working for all children on the root folder. I’m not sure if this got fixed in Beta 2 or 3. With Beta 1 I was having to place events on every folder and every feed. (Mass select ugly event code – delete!)

2) Added Feed event delagates on the IFeedFolderEvent object. Man! Sweet! I was able to delete all the IFeedEvents_Event event code and simple set two event watchers – one for feeds, and one for all folders through the root folder object. Glad to see this finally working. This has totally cleaned up my event code. It’s also cleaned up the issuesI was having of file system locks on objects when moving, renaming, and deleting feeds and folders. Without needing to set events on every object in the system, there are no locks to deal with. (Mass select more ugly event code – delete!)

3) The naming conventions on properties are all cleaned up, thanks!

4) Seems like the performance has greatly improved. I’d like to see more work in this area, or possibly a FeedsList class for quick iteration of the feeds in the database. The performance hit Daisy takes when indexing every feed and folder at boot is a bit of a hit.

This weekend I’ll dig a little deeper and see what else has changed. Thanks guys!

Your Online Presence

I was reading the New York Times article “For Some, Online Persona Undermines a Résumé” and started wondering how a potential employer might reflect on my online persona. So I went out and did a search on Google for Jim Mathies to see what I could find. The first page of results are primarily to my web site, old posts to news groups and email lists from around 2000, and reviews of my old shareware popup blocker for Internet Explorer. Nothing here to be concerned about although I wish I had never made this sarcastic comment on Danny Ayer’s blog. 🙂 Overall though most of it is either comments on blogs, or comment and links back to my blog entries. Nothing here I think I need to be concerned about. I did come across this little gem – a ZD Net UK article quoting me from my blog regarding the release of Google Pack,

Software consultant and tech blogger Jim Mathies was even more critical of Google Pack. “This initial version of Google Pack is an embarrassment to the company. It’s just a mess,” he said in his blog on Monday.

I found this a little unsettling. No one from ZD Net ever contacted me about the quote and a quick view of my blog post shows that they actually incorrectly attributed a statement by Paul Thurrott that I was quoting as my own statement. So I guess that even if your careful what you say on your blog it’s always possible that somebody is going to twist it around incorrectly> There’s nothing you can do about that, you just have to hope any interested readers do their due diligence.

As far as my blog content goes, I suppose there’s some risk in putting yourself out there. I’ve rarely commented on politics, something I decided a while back I would try to avoid all together in blogging. If there’s one area that could possibly get you passed over it’s conflicting political opinion between you and a perspective employer. (Although this defensive note on FOX News might ruffle a few feathers, I doubt it’s enough to get me passed over even if the perspective employer or recruiter is a hard core FOX News hater.) In general though I feel the few political posts I’ve made show my middle of the road stance.

I occasionally post pictures of beautiful women, I wonder if a feminist recruiter would take offense to my “Too Sexy” comments? Objectifying women? Oops. Maybe I should be more careful.

Most of my posts are, naturally, about technology. I spend a great deal of time either praising or deriding gadgets and software. If anything this should help insure anyplace I work will have similar views, which I would think would be a good thing.

In other places people would find that I’m a big fan of the Denver Broncos, that I’m currently developing an killer new RSS Reader in .NET, that I like Pamela Anderson, and that I watch Rescue Me, Battlestar Galactica, and Lost. No big deal there although the feminists might take offense to my PA comments. Two strikes there. Oops again. People would also find that I tend to be a champion of all things Microsoft and Bill Gates, no surprise there considering my chosen field, and that I think a lot of the Web 2.0 hype is somewhat of a joke. I guess I won’t be working for any server side, anti-Microsoft web 2.0 startups in the future, shucks. People might also get the impression that I’m still a kid at heart, I would hope that would be considered a positive.

Overall I think so far I’ve done a pretty good job of spouting off without pissing off while also keeping it light, real and fun. It does make you think though, blogging is a very public forum. You just have to be careful, and think before you blog.

1.0 + 1.0 = 0.5

Tagging – tagging is to web 2.0 what HTML meta tags were to web 1.0 – a user driven categorization system aimed at organizing information on the web that simply doesn’t work.

RESTful APIs – overly simplistic web based API’s that fail to accommodate the basic needs of developers looking for robust web services for use in storing complex structured data.

Can we fast forward to web 3.0 please?

Too Early

I got up too early today hoping for a nice picturable sunrise over the beach, but it’s gray and overcast like last night’s sunset. Too bad I drank those two cups of coffee or I’d crash for an additional hour or two. At least I got to try out Dave Winer’s new OPML thing. So far about the only interesting thing with this was that it gave me a chance to see how my reading list compares to the alpha geek crowd, the only people using “Share Your OPML” at this point. Read Steve Rubel for an interesting take, he’s hitting the Dave Winer Kool-Aid early this morning.

I did find one cool blog through it –

Make Magazine

Finding a long list of interesting new blogs through the top 100 probably isn’t going to possible. As more users get on board the top 100 will quickly become yet another (and rather old and tired) A-List of blogging. I’ve yet to find a web site that gives good visibility into what is arguably the more interesting side of the blogsphere, the “long tail”. Dave is trying to offer this throuugh SYOPML’s “feeds like mine” feature, but I found very little in there of value.

GData C# Library

While I won’t be using GData in connection with Google Calendar, I have to say kudos to Google for releasing what looks to be a really nice stand-alone Atom feed parsing library written in C#. It’s similar to Microsoft’s C# RSS Platform api’s, only it’s oriented toward Atom and seems tied closely to Google data services like Google Calendar and Google Base. They also released the source, very cool, under the Apache License. Thanks Google!

Who’s the hot new blogger?

Interesting observations over on Squash –

Here’s a question: When was the last time you found a really, great new voice. Who’s the hot new blogger? Late last year/earlier this year, there was a pretty significant influx of new bloggers into the game and personally I think we’ll look back and say that was the tech blogsphere’s golden age.

I’m beginning to fall into the “I’m getting tired of” camp. There seem to be more headlines from non-blog sources on Meme than blog posts, and I haven’t seen a related link to a new blogger in months. Meme’s starting to feel like some sort of Google news site with A-List Geek fraternity commentary attached. I didn’t get into RSS so I could visit the same tired home page every day sporting the same tired views. Maybe it’s time to move on.

More from Squash –

Turn over to TechCrunch and tell me how many of the new launches are really inspiring or new. Mostly they’re tweaks on the same old ideas – social networking, search, photo sharing, news aggregators, etc. I never thought I’d say this, but I’m missing the Web 2.0 ballyhoo!

So begins a slippery slope. The tech blogsphere gets progressively more boring so less people are inspired to blog which begets more ennui and so on. I’m not suggesting for a moment that it’s dead or anything, just that it’s plateued. Those of us who are still blogging are probably doing it because we’ve discovered a positive ROI on it and we’ll likely keep doing it. However, I don’t see where the next rocket is coming from that’s going to start a new wave of smart people blogging about tech. Web 3.0 anyone?

I’ll take issue with this last comment though, I’m not blogging for an ROI, whatever the hell that is. Maybe there isn’t a problem with the blogsphere, maybe the a-list is just getting boring. The blogsphere is growing at a huge pace, but sites like Meme don’t tap into this growth. Following in the footsteps of old media? Sticking with what works? Definitely the case.


Ok, before the anti-Microsofties out there get all worked up into a lather: Live Clipboard is not a Microsoft specific thing associated with Windows Live. Keep this in mind.

What is it? Simply put, it’s a way (through JavaScript) of copying and pasting microformats in and out of web pages. That’s it. Nothing more. And it’s fracking brilliant! A huge problem with desktop to web integration and web to web integration is data sharing. Using Microformats, you can share data in a structured way. Check out the demos, copy a live clipboard record and pop it into a text editor. Bang, there’s your data in a microformat. Neat! There are some issues with resolving identical records, but I think a solution to this is forthcoming through distributed identity services. Currently there’s a lot of work being done related to Uri based individual identity. In time, these services can support identity for more than just individuals, they can support identity for places, events and things.

Daisy Update

(I published this last weekend for a short while, and then pulled it after I started wondering if giving away too much info on Daisy was a bad idea. I think this will be the last post where I detail everything I’ve worked on. For example, I’ve been kicking some new interface stuff around in Photoshop this weekend that I really don’t want anybody to see untill release. We’ll see how it goes. On with the show…)

This weekend was mostly about two things – filling in missing features that hadn’t been implemented yet, and working on performance issues related to large subscriptions list.

A good friend was kind of enough to lend me a copy of his feed list which is huge compared to mine. I subscribe to about 100 weblogs – I tend to prune out stuff I rarely read and try to keep things manageable. My friends list had about 300 subscriptions in it, so it was a good test of my subscription list import and the performance of the application overall once the feed store grows to 400+ weblogs. Needless to say the performance was horrible, 🙂 so I spent most of Saturday working on this. I’m happy to say things have improved quite a bit.

Today I spent working on filling in the nooks and crannies of the app, adding small features which I’ve put off over the last few weekends. Here are some screenshots:

Implemented search scopes, which are search providers you can use to search the web within the web interface. The search providers are pulled in from IE7’s search provider database so the two apps remain in sync.

Added a brilliant idea my boss Gary came up with, a search feature that searches blog search engines for references to articles your reading. Memorandum is nice, but it only lists a few A-list bloggers that have back linked to a particular article or post. This gives you access to the Long Tail by allowing you to search sites like Technorati, Pubsub, Digg, MSN Blog Search and Google Blog Search. I’ve already used this a few times, it’s quite useful.

I finally bit the bullet and implemented a sorted article list view. It wasn’t as bad as I thought it would be, and it turns out the newer XP (or Forms 2.0?) list view has built-in visual styles. It’s amazing how much this improves the usability of the app.

I also added a nice little error information inspector in the subscription properties for feeds that experience problems. This gives you an idea of what might be wrong with a feed that’s gone dark.

And last but not least, I added something that is just so cool, and yet so simple – a Welcome page for the preview pane that displays the first time you open the app. From this you get a quick summary of what’s going on with all of your subscriptions. I’ll be adding additional entries to this page as I continue to develop the app.

That’s about it. Next weekend – fixing problems with renaming, removing and reorganizing your subscription list now that I’ve finally tracked down the cause of my file access exceptions, and continuing to fill in the feature cracks. (I still have a number of small features that need completing.) Once I get done with this, and maybe work over my bug list a bit, I’ll finally be moving on and implementing another major feature, although I’m not sure what that will be yet.

I should also mention one thing I’ve noticed since I started this project. Microsoft’s new developer tools, languages and libraries are Da Bomb! If I had to implement Daisy in C++ using the MFC, well, I would have given up long ago. This app has swung together so fast it just blows my mind. And it’s been so easy. I dig Windows Forms and Visual Studio 2005.

UPDATE I just noticed I mispelled Friday in the list view as Firday. PETA will not appreciate that. 🙂

Amazon CTO

I like this guy. I like Scoble too but this whole corporate blogging thing seems to me to be somewhat of a fad.

I wanted them abandon their fuzzy group hug approach, and counter me with hard arguments why they were right and I was wrong. Instead they appeared shell-shocked that anyone actually had the guts to challenge the golden wonder boys of blogging and not accept their religion instantly.

He also has some interesting thoughts on systems scalability that ring true.

Is achieving good scalability possible? Absolutely, but only if we architect and engineer our systems to take scalability into account. For the systems we build we must carefully inspect along which axis we expect the system to grow, where redundancy is required, and how one should handle heterogeneity in this system, and make sure that architects are aware of which tools they can use for under which conditions, and what the common pitfalls are.

In essence, think ahead, the design of software shouldn’t be shortsighted. Throwing together prototypes that ultimately become production systems can easily lead to failure. I’ve never sat in the camp of developers who think it’s better to throw something together just to get it working now, without thinking about what your going to want to build into a system later. Good design that takes both short and long term goals into account and is willing to sacrifice some short term agility for long term stability usually results in far fewer headaches down the road and a better user experience overall.

Oh, and, to show I do listen sometimes, Dru you told me this a long long time ago and I’ve never forgotten it. 🙂 And you know what? You were right.