November 28, 2002
November 26, 2002
Forensic debuggers and visualisation
Imagine distributing an instrumented version of your program to 100 alpha customers. Every time the program commits an error, the user presses a button to generate a program trace and sends it to your server (WinXP does this for crashes, but they collect very little data). You collect hundreds of errors in a giant DB, with very detailed data on every program instance. Is it possible to automatically data mine these crashes to precisely identify the problem in the source code? I'll call this forensic debugging (FD).Yup. Done, deployed. Groove has this subsystem called CSM:
If a problem occurs, the Groove software automatically notifies Groove Networks' Customer Service Manager (CSM) server about the problem, and then works with it to fix the problem. The information transmitted to the CSM server includes the execution state of your computer at the time the problem occurred.I gather the database is pretty big. Now, mining that for long-term trends is one of a class of related things which interests me. How do error conditions manifest over time? How does a large source tree grow over time (whch areas have most churn, and how does that correlate to reliability)?
QVis could be a very interesting tool for this type of dataset. Must try it sometime.
The Groove Networks software solution integrates Groove Workspace with SharePoint (TM) Team Services from Microsoft, giving customers a team Web site solution that supports online and offline use, works across company firewalls, and synchronizes information automatically.There's coverage in Information Week, TechWeb, InfoWorld and CW360 (who could use some link education!).
For me, this is the fruition of a major project. I've come to like SharePoint for its straightforward (even webloggish), flexible Web-based collaborative environment. And we've built tools in Groove which let you securely disconnect all of that from the server, without losing any of its value. I'm especially proud of our work with custom lists: one of SharePoint's strengths is the ability to very easily create and modify schemas for custom forms, and we synchronize the schema right into Groove (the toolset reconfigures itself on-the-fly). Incredibly powerful technology, but more importantly, really really easy to use.
"When users disconnect from the network they can continue working with SharePoint Team Services Web sites to carry out a range of tasks including updating documents, adding items or events to calendars, or participating in discussions".
The IW article has it best: "Getting Out Of Isolated-Workplace Ruts":
Dana Gardner, an analyst with Aberdeen Group, says there's no other product on the market that can combine a powerful centralized collaboration tool such as Sharepoint with the decentralized, offline capabilities of Groove. "There's nothing this comprehensive for the user and easy for an IT department," Gardner says. "You get the best of an intranet combined with the best of an extranet."
November 25, 2002
Don't worry; they're there, too (referenced from the WSDL, just not linked from the webpage). For your convenience, here:
November 22, 2002
John has written up lots more detail about the service model in Groove Web Services. Essential reading.
Groove Web Services
You'll be able to write Web Services code, using these service definitions, to talk to Groove 2.5 client (peer) devices. Enumerate, read, create, update, delete. Access can be local (for "tempuri.org" read "http://localhost:9080/") or remote (accessing your Groove client from anywhere). From .NET, PHP, perl, Radio, whatever.
November 18, 2002
Matt gets quoted in today's Boston Globe, business section front page, above the fold. Talking about applications for the Tablet. There's a great graphic: people carrying these things, networked together with sci-fi beams (just dotted lines, really).
In other Microsoft news: SPOT (small personal object technology, apparently). Little edge devices, pervasive wireless communications, information appliances; sounds familiar. Matt and John and Michael have been playing with PocketPC-plus-Web-Services quite a lot.
Marc Canter says "Fine - they stilll need cool software to drive it - and they can't write cool software".
I know some people who can...
OK, maybe that was just too easy. Who is the inventor of Lotus Notes?
Aah. Must Try Harder.
November 16, 2002
November 15, 2002
Dan Bricklin has written a lengthy and thoughtful review of a Tablet PC. Excellent (he does write really good, useful reviews - also see his recent Treo articles). Bottom line: it's a keeper. "The big change is the environment in which the PC works. There are finally lots of real reasons for tablet computers... I can't see ever buying a portable laptop that isn't a convertible -- the benefits are too great for me".
November 14, 2002
Increasingly, researchers are choosing decentralized models for the organizations and technologies that they construct in the world, and for the theories that they construct about the world. But many people continue to resist these ideas, assuming centralized control where none exists -- for example, assuming (incorrectly) that bird flocks have leaders. StarLogo is designed to help students (as well as researchers) develop new ways of thinking about and understanding decentralized systems.
November 13, 2002
An hour or so of Bill Clinton: really intriguing, engaging viewing (so much so, I only just realized I missed the mandatory West Wing). I'm still a newcomer to America, and constantly surprised by the highs - and lows - of this still-foreign culture. (Start ~20 minutes in. Via jrobb).
Q: Why did the right wing despise you so?An interesting experience (meta), beside the content. Kids sleeping. Wireless laptop, fullscreen. Better than TV.
Some diversions (here):
We do indeed have computers being bought by individuals for themselves; they are "personal computers". The problem is that many of us didn't want computers in the first place... It's as if we had asked for a bit of part-time help and were given a bureaucracy.
For PHP there's NuSOAP. Looks just fine. More playtime later.
November 12, 2002
More language:"To achieve adjustment and
"To achieve adjustment and sanity and the conditions that follow from them, we must study the structural characteristics of this world first and, then only, build languages of similar structure, instead of habitually ascribing to the world the primitive structure of our language."A googlism explains it well, of course :-)
"A distributed system is a
More language fun
Ho ho. Stumbled across this from Jim Bowery:
Kapor knows he's now created some major expectations... "Almost everyone that's tried to do that has died," said Kapor...Now I know why Groove spent as long as possible in stealth mode...!
If I want to help other persons to write all sorts of programs, should I design a small programming language or a large one?Meanwhile Dylan's learning Squeak e-toys; that seems to be a nice way to start "in the middle" with abstractions which don't leak too much. Certainly, via its Smalltalk heritage, growable (as we'll see much more, I'm sure, when David Reed and Alan Kay start telling the world about their project).
Meta means that you step back from your own place. What you used to do is now what you see. What you were is now what you act on. Verbs turn to nouns.
November 11, 2002
Sam Gentile has a good article entitled Multi-Paradigm Design and Generic Programming in which he reminds us: "Object Oriented Design is just one subset of the solution domain and not always appropriate for the problem at hand... In the hands of an experienced designer, there is a whole lot more power and flexibility afforded when designing with more than one design paradigm.", and introduces the nice idea of Policies.
How much paradigm-shock can you take at one go? For overload, try this:
[Prototype-based Multiple Dispatch] begins by reexamining what it means for a method to be applicable to an object. It essentially reverses the decision... Instead of finding a method from an ordering of which all arguments have types that are subtypes of their respective parameters in the method, PMD considers the set of methods which each argument object supports and then attempts to find one that they all hold in common.
November 08, 2002
I don't know who it is, but KPIG is really stompin' right now. Great stuff.
Complexity and decentralization
I think we're at something of an inflection point where the technology is decentralizing because it has to. You simply cannot for example build 'Everquest' and serve billions of people in online gaming on one computer. It just doesn't work... Every enterprise is now on a path towards making their computing infrastructure meet the same demands that Sony has to meet today for supporting millions of players on Everquest.Indeed. Some of this is the same theme as IBM's "on demand" brouhaha.
But "computing infrastructure" still sounds like big blue iron crunching numbers. It's not. It's stuff like the Dynabook, "communication with others of ideas, data, working models, as well as the daily chit-chat that organizations need in order to function". Decentralized because correspondents are everywhere. Distributed (and redundant!) because you left some of it on the desk upstairs...
Of course I'd like a Dynabook. "Enough power to be entirely shaped by software".
sjl: Netscape was born 400 weeks ago. Gosh, how time flies, especially Internet time!
November 07, 2002
Here's the Groove press release: Got Ink?. Ray's quote:
The combination of WiFi networks, the Tablet PC and secure, smart applications such as Groove give users the freedom and flexibility to get their jobs done regardless of location, and organizations the ability to reduce their overall coordination costs, without sacrificing security, or control.and more detail. Can you spot my handwriting in the screenshot? (heh!)
I'm expecting more lukewarm reviews than ga-ga. But even the NYT says
a touch screen can be a useful enhancement. You can use a Tablet PC standing up - not something people do every day, to be sure, but handy in certain lines of work.And although
You can't simply mark up a Word document with circles, arrows and crossout lines, as a proofreader might with a red penthat's exactly what you can do with Acrobat.
Keep taking the...
Tablet is really quite important, in an incremental way (which is why I think it may succeed where others have failed). Of course one of Microsoft's great strengths is in lowering "transition cost", making disruptive changes more palatable; with the Tablet edition of XP, ink arrives incrementally. Already there are signs of some really good applications; vertical solutions for healthcare, of course, but also some fun games and demonstrators. And Groove. Groove is such a good fit to the platform.
November 06, 2002
Squeak and Croquet
Croquet looks interesting enough. Choice qotd:
Until real software engineering is developed, the next best practice is to develop with a dynamic system that has extreme late binding in all aspects.There's a learning curve before I can discover more about their decentralisation strategy, but it seems to share some philosophies with Groove. So I'm delegating the learning curve to Dylan: "can you play with Squeak, and build us a presentation in Squeak about Squeak, by Christmas". Let's see!
November 05, 2002
November 04, 2002
GWS and SOAP
an enterprising developer should be able to integrate Groove capabilities with website authoring for Radio and/or Manila.Yes, but you can do that already (talk to Radio or Manila's SOAP services from a Groove shared space, to move Groove-authored content out). Did I misread? What I'm talking about is the reverse: pushing Radio-fed content into Groove...
November 03, 2002
My own work, natch
Just in case anyone thinks the stuff I say here has any bearing on Groove's plans and work-in-progress, I better make this clear. Groove Networks Inc pay me to work for them. I love that. But at this website, I pretty much say whatever crosses my mind. Even when I'm firing on all four neurons, that doesn't necessarily mean what comes out here is meaningful or significant.
So I can talk about SharePoint because my head's filled with the stuff daily - I know more about CAML than I'll ever need again - even though I didn't instigate the current integration work, and even though I'm hunkered down building some of it, it's still cool. Others do have more vision. (STS reminds me of nothing so much as Lotus Notes R1.1. But that's a different story...!)
And I love the possibilities of Groove Web Services talking to local SOAPy apps like Radio. It would be such a cool thing to do, someone better do it, otherwise I'll have to waste a weekend or more doing it myself. But I only just now understood that it was possible...
Draw round, put another log on the fire. Let's get telling some stories. They might not be true - yet.
GWS and weblogs
Groove hasn't yet been a great place to read (and work in the context of) aggregated RSS newsfeeds, even though I tried to build something suitable a while back. But with GWS the door is wide open. Take a local application which can subscribe to RSS feeds and which can make SOAP calls. Ping the local Groove installation via SOAP when there's new news. Punt the articles into a Groove space you're sharing with friends and colleagues. Bing! Any takers?
November 02, 2002
Groove Web Services
Jon Udell has plenty to say about the forthcoming Groove Web Services:
The results are nothing short of spectacular.Good writeup, and kudos to John and Matt and the team for building what looks like a really powerful, clean, smart piece of glue. Unfortunately I've had no time to build anything with this stuff yet (although I played briefly with some of John's sample code, which will be available in the GWS GDK when it ships). Looking forward to putting some Groove-aware pieces of PHP or Perl onto this (linux) webserver as soon as.
Busy day today, chopping firewood. But time enough to knock up a RSS generator for SharePoint 1.0 (I have SharePoint running on this laptop - not that it gets used for anything except R&D). If you're running a STS site, this should let you subscribe to your lists with your favourite aggregator (Radio, AmphetaDesk, Aggie, etc).
The script is here; save and install on your server, and call with http://yourSTSwebsite/_vti_bin/owssvr.dll?Using=sts2rss.html&list=[listname]
Let me know if you use it :-)
Update 2003-05-19: If you're looking for a RSS generator for SharePoint 2.0 (Windows SharePoint Services, aka WSS), my script won't work - but Harry Pierson has built one, and it works good.
November 01, 2002
Microsoft's Weblog Software
Microsoft has created a weblog tool that is designed to run inside the firewall at a company. It's browser-accessible from any 4.0 or higher web browser and doesn't require Windows on the client. It leverages their strengths by integrating with Office, and there's no per-user client access fee. Then imagine if this weblogging tool were deployed to millions of users, all before anyone in the weblog community took notice.SharePoint Team Services, indeed. This is a very flexible (and, dare I say it, fairly elegant) little application, and it's a great weblogging tool.
Unfortunately, out-of-the-box SharePoint doesn't support RSS, let alone TrackBack or anything fancy. Also, adding "comments" is an exercise left to the user (not very hard, but not easy to do right). I think building an RSS feed would take only a couple hours' work - anyone done such a thing?
The one player which seems to be fully aware of both the weblog space and SharePoint's potential is Ray Ozzie's Groove Networks, which has fully embraced the SharePoint platform while being completely aware of the attention and activity around weblogs. Aside from Groove, most weblog software companies are either unaware of or unwilling to acknowledge Microsoft's participation in the realm, with the few discussions of the tool mentioning it only in passing, or in reference to Groove's relationship.Heh! (I'm not sure this isn't just a lucky coincidence - I'm working on the product and haven't had that discussion with other people here; it only very recently occurred to me how good a weblogging tool we're building)
Vista is an experimental prototype whose purpose is to quickly explore various design and feature ideas for Chandler, our networked personal information managerThere's plenty of detail here.
[ /* more blogroll to follow */ ]
The views expressed on this weblog are mine alone and do not necessarily reflect the views of my employer.