I can read Hani's thoughts on product evangelists. Slight warning - he doesn't hold off on the obscenity - but if you're ok with that, he's hilarious.
NPR reported on something fascinating:
NPR program “All Things Considered” reported yesterday that scientists are considering how the recent accidental spread of a plague in massively multiplayer game World of Warcraft might help them develop model responses to real-world disease outbreaks.
Of course, there won't be any disease resistant orcs to deal with in the real world.
For those of you with a twisted sense of humor, you might want to try counterscript out on the next telemarketer that calls. I have to admit, it sounds amusing :)
We (STIC) have been discussing next year's Smalltalk Solutions. We would like to attract people outside the existing community, so we had an idea - why not have Smalltalk Solutions as a set of tracks at a larger industry trade show?
So here's the thought - next year there's a LinuxWorld in Canada (Toronto, specifically). We've talked to reps from that show, and they are interested in having us there. Any thoughts on this? Positive, negative, neutral? Let me know.
Dana VanDen Heuvel uses his morning coffee experience to explain how good customer service generates return business. It's something that far too few companies pay attention to.
As much as I prefer the Spicy chicken sandwich at Wendy's, this is the same thing that drives me to McDonald's when I go for fast food. Wendy's service is just too variable - I've seen bad McDonald's service, but it's much rarer in my experience.
Well. back on August 9th, Dave Winer said this:
Big software companies, or BigCo's for short, just can't leave well enough alone. They always try to f*** with technology they didn't invent, for a lot of complicated reasons I've spent an entire career trying to understand. It's not powerful, or interesting -- it's childish and self-defeating, but it's evident in both BigCo strategies for RSS.
Ever have that "oh, I ate too much" feeling? I bet it was nothing like what this python experienced after trying to swallow a gator. Ouch.
Warning - if you click through to the full size picture, be ready for a nasty image.
I ran out of business cards a little while ago, and I just got around to going to our internal form for re-order. That's when I realized that even something as simple as business card ordering hadn't caught up with current trends. By default, the web address of the company (Cincom) will appear in the lower left of the card. That's fine - it should. However, I also wanted the address of my blog there, under it. I was able to work with the order folks to make that happen, fortunately.
Sometimes, it's the small stuff.
Two of the internet's most valuable brands have clearly achieved that status [distributor level importance]: Java and Google. Could you imagine a PC that couldn't access Java services? Or how about a browser that couldn't get to Google? My view, either would be a tough sell. Other programming, such as Macromedia Flash, Firefox and OpenOffice are in the same league - along with services such as Yahoo.com, eBay, or AOL.com. The world of network services is enormously competitive, and it's driving enormous innovation (and quite a few deals hearkening back to the early days of the internet). Much of this next wave of innovation is referred to as Web 2.0 - the convergence of technology and services that underlie the Participation Age.
The most telling aspect to that nonsense is the "hearkening back to the early days of the internet" - citing deals that were made by Netscape early on don't really help make his point, IMHO. And a PC without Java services in the same league as one that can't access Google? Java is hugely popular, yes - but a force on the client browser side, it's not. If it disappeared from the browser tomorrow, few people would notice or care. To take Google away, you would have to remove the network. That would get noticed.
The bottom line for Sun - they just aren't that relevant at the "movers and shakers" level. It was nice of Google to take pity on them and make a nothing-burger announcement, but it smells of pity.
Men left on base all night, and three errors. Sheesh. Back to New York, tied 1-1.
Well - the White Sox have taken two straight from the Red Sox, and tonight's loss had to hurt worse than last night's - The Red Sox were up 4-0 in the 5th. Two runs came in, and the White Sox had a man on first. A soft roller was hit to second base - and Graffanino did his best Bill Buckner imitation - he started to second before the ball was there, and it went into right field. Instead of the inning ending, there were men on 1st and 3rd with one out.
Next batter - 3 run shot. The White Sox held that lead the rest of the way through, and they are now up 2 games to none. If the Red Sox lose this series, Graffanino will be remembered in much the same way as Buckner is - for good or ill.
Here's the winner of an interesting contest: take a Hollywood film and cut a new trailer for it -- in a completely different genre. Robert Ryang won with a fresh cut of The Shining as a romantic comedy.
This was so convincing that I was wondering to myself, 'How could I have missed this unsual Jack Nicholson movie? And wasn't there a Steven King novel with the same title?'
It's interesting all right. Based on how dark the original movie was, it's really interesting. Mildly disturbing as well :)
The next largish task I have in mind for BottomFeeder is an interface to the Newsgator online API. Fortunately, the grunt work of generating the basic interfaces was handled by the WS* wizard in VisualWorks; now comes the hard part - hooking one end up to Bf, and the other end up to Newsgator. Among the other things I'm sure I'll have to deal with is the post id problem. For feeds that don't have GUIDs (and there are plenty of them), what does Newsgator expect? I'll have to read up.
Update: If anyone's interested, I've posted the code to the public Store as a Bundle - Newsgator-API.
Yesterday, Google and Sun had a joint announcement of sorts, where they tried to pass of trivia as world shaking news. So I guess Google felt a need to say something more, in order to spice up the non-announcement:
Google boss Eric Schmidt worked at Sun Microsystems for 14 years, so it's no surprise he shares a vision for the future of computers and networks with Sun boss Scott McNealy.
And it's no surprise that future doesn't include a place for Microsoft.
Well, actions speak way, way louder than words. Let's look at the places where Google has reached out past the browser, or into browser add-ons - the toolbar, Google Earth, desktop search. Hmmm - there's a pretty Windows-centric aspect to all of those initiatives, isn't there? Heck, until recently, the toolbar was even IE specific.
If Google were actually interested in a future "sans Microsoft", you would think that their client tools would support the Mac and Linux, at least (and it says something about Sun's desperation that they were willing to appear with a vendor who will support Solaris approximately never).
The Blog Ride thinks that dynamic languages provide power that most people just can't handle:
Folks, we need to realize something: all this "expressiveness" is like putting craftsman's tools in your hands; in the hands of a master craftsman, amazing things can result, but in anybody else's hands, it's putting a loaded gun into the hands of a child. YOU may be good enough to be disciplined enough to keep the rules of your types in your head when programming with Ruby, but are all of the programmers on your team equally gifted? Are all of the programmers that will follow you so gifted?
I think David Buck's latest post explains what's at stake quite nicely. To my mind, it's all about just how much productivity you are willing to sacrifice in the name of presumed safety.
Travis is looking for Smalltalk blogs. Of course, the largest aggregation is right here, on our site. You can subscribe to the whole thing via the master feed. Here's what else I've run across that's worth subscribing to (Specifically Smalltalk):
I'm not the only one who thinks it's dumb. Go read this, and then ponder how much less working space you'll have with Office 12 and the absurdly enormous ribbon/toolbar area. I guess someone at MS liked the huge amount of wasted space at the top of Outlook, and thought "we need more of that around here".
Sadly, WordPerfect still sucks, and Open Office sucks even worse. sigh.
There was a lot of anticipation about the Sun/Google announcement this morning, and then it amounted to nothing. Whoo Hoo - you can download the toolbar when you come to Sun's site. Wow. Om Malik is less impressed than I am, and given how down on Sun I am, that's saying something :)
This morning's rumors are true - NewsGator has acquired NetNewsWire. The consolidation has begun.
John Dvorak makes some points on advertising's problems - mass market advertising isn't contextual, and an increasingly large share of the market is able to avoid it now. No one has ever really like mass advertising - it's just that now, we have options:
The advertisers should have gotten a clue when, almost out of the blue, full-season episode lineups of TV shows began to sell on DVD. You could watch without commercials. People would actually pay to avoid these commercials. Hello! Do you think you have a problem yet?
I went to the theater the other day to see the trendy film Serenity (I prefer watching movies at home on an HD projector) and had to endure about 20 minutes of solid commercials before it began. So now I pay money to watch commercials? It's offensive.
Friends of ours just started watching "Smallville" - by buying the season DVD's. They avoid ads, and they catch up quickly. I only started watching "Buffy" during season 5 - I caught up via the FX repeats captured on my ReplayTV, without the commercials.
The problem is, where does that leave the mainstream TV industry? Right now, they build shows one step removed from the actual audience - they target the advertisers. However, with the ability to dodge ads on the rise, that model is doomed. I rather suspect that over the air TV (with ads) is doomed - but I don't see targeted ads being the answer. Instead, I think we'll see subscription TV. Me? If I knew I was going to see content from Joss Whedon, for instance, I'd sign up.
James Governor wants some interop between competing IDE's (by which he means NetBeans and Eclipse) - at least at the plugin level. He asks:
But couldn't we learn from the wireless providers and at least have a roaming agreement?
Well, that assumes that the infrastructure underpinning the two are similar enough to allow for plugins that work in both. I seriously doubt that's the case, nor will it be anytime soon.
Anything can happen in sports, but here's my read for round one - The Red Sox should take Chicago. Their hitters are too damn good, and the White Sox don't have the kind of pitching staff (like, say, Houston has) to just shut them down. What about Yankees/Angels? That's tougher. The Angels won the season series, and they have home field advantage. The Yankees have something to prove though, and that might make a difference. Might. The big problem for the Yankees is what happens when the starter doesn't have his stuff - the middle relief staff sucks eggs. So this hinges on the starters - if the starters are good, the Yankees go to the ALCS. If they falter, the Angels go.
If we see a Yankees/Red Sox rematch in the ALCS, anything could happen. Both teams can hit, and both teams have nothing in middle relief. The Yankees might have an edge in the late game with Gordon and Rivera, but that assumes that the late game is close. If this rematch takes place, watch for fireworks.
I don't follow the NL that closely, but everyone is picking the Astros - with the Clemens/Pettite combination, they look a lot like the 2001 Diamondbacks. I expect them to make it to the series - and then woe betide whoever has to face them.
Well, there's a rumor floating that NewsGator is going to acquire NetNewsWire (the most popular Mac aggregator - by some accounts, the most popular aggregator period). I figured consolidation was coming to the aggregator space - it's a field that a lot of people (and money) are interested in, and there are tons of tools in it (witness any of my log reports - just look at the aggregator tool distribution).
Hat tip Scoble.
One of the things missed in last week's kerfuffle over OPML is how the semantic part of the semantic web is going to get driven. Let's look at two of the proponents of OPML organization for an example of the problem - and no,I don't mean this as a slam. First, Scoble, who was excited over the OPML work started by Dave Winer. Scoble's blog doesn't even have categories. Which means that, from a semantic web standpoint, his posts are lost in the ether. It's not that categories are the end-all, be-all of organization - far from it. They are kind of the bare minimum required, actually.
Categorization is hard, actually - where does a given post fit? Sure, some blog systems allow for multiple categories, but - if people won't bother to assign one, what makes you think that they'll start assigning 3 or 4?
Next, we have Dave Winer - who's posts not only don't have categories, they don't even (typically) have titles. His posts have even less of a chance of being organized in any sem-web kind of fashion. Like Scoble's posts, they end up not having any of the metadata necessary to hang additional tools off of.
Which gets us to the root problem of RDF, which isn't complexity. It's a lack of user supplied metadata. The OPML categorization scheme that is being proposed breaks up on the same set of rocks. Scoble and Winer are hardly the only people blogging without extra metadata - they are just too of the most well read bloggers doing so, and as such, they make for a good example. Let's say we wanted to use RDF (or the posited OPML scheme) to created an organized taxonomy of posts (say, over the last few weeks) of either of their blogs. We can't. Not unless we first feed the raw data of each post through a text processor which will create tag data of its own. That might be accurate; heck, I don't really know what the state of technology is in the area - but based on some of the results that come back from search engines, I'd say that it's less impressive than we'd like for for that kind of categorization.
Ultimately, the biggest blockage on the road to the semantic web is us - and I see no long term solution to that social problem.
RS If you’re using the J2EE standards such as RMI (remote method invocation) over IIOP (Internet Inter-ORB Protocol), you are primarily going to be doing that within a single vendor’s system, such as a WebSphere system. If you’re going from a WebSphere system to a WebLogic system, your best shot at interoperability is through Web services. Why? Because you’re crossing a technology boundary.
TC You’re claiming that RMI over IIOP doesn’t actually work?
RS It doesn’t work for interoperability across technology boundaries.TC
There seem to be people out there getting it to work. Certainly, back in the days when I worked with CORBA there was no problem having different vendors’ ORBs (object request brokers) interoperate with one another. We used three or four of them at Open Text and had no difficulty at all with those environments interoperating with one another.
RS As long as you’re going CORBA to CORBA, it works fine. But not when you are trying to get a CORBA system to work with a non-CORBA system.
TC But going from WebSphere to one of the other EJB vendors (e.g., WebLogic) in the CORBA space, there were probably five or six different major ORB vendors floating around, not to mention a couple of open source efforts, and all of those interoperated really well with one another.
RS CORBA to CORBA. They’re all running on the same basic core of CORBA technology. The difference between that and Web services is that for Web services, unlike CORBA, there is no assumption whatsoever about what the underlying technology is.
Yes, one CORBA end point only works with another CORBA end point. Does that mean that Sessions believes that WS* works differently? Can I send a plain text (as opposed to XML) document via FTP to a WS* server listening via HTTP? What point is Sessions trying to make here? WS* is no more or less interoperable than CORBA was. The difference? The fact that most web services run via HTTP (and thus, via port 80) - so they can move between firewalls. With CORBA, you have to get IT (or IT security) to open up a port in the firewall (on both ends). The usage of HTTP as a transport gets around that problem.
That's really the only difference between the two at the 50,000 foot level. Lower down, of course, WS* manages to be even more complex (as Patrick points out). Managing to be more complex than CORBA is a rare achievement.
Dana VanDen Heuvel is not amused by totally locked down internet services. I'm not either - I've run across such madness at a few hotels, and at some corporate sites. Very, very unfriendly...
Hmm - Tom Yager imagines that he's "been on his game" lately:
I'm not just bored with the present, I'm uncomfortable there. I drop in on now every so often to do things like pick up my mail, write reviews, and make sure the pipes didn't freeze last winter, but before the neighbors get a chance to screw with my mind by asking me what I've been up to, I'm back to that windowless place where, for all I know, the horizons to which I cast my gaze are already behind me.
When I'm on my game, as I have been lately, I can haul my horizons with me when I travel on business.
Back here in the real world, let's look at some examples of Yager's fearless predictive powers:
- No, Apple won't go to intel.
- The big problem in IT is those blasted users
- iTanic is the future
- JIT? Who needs that?
If Yager were any more detached from the IT sector he'd be orbiting Neptune. With his track record, he belongs at my favorite analyst group.
I should do a screencast on this, but I don't have time for one today. This is the other side of the client demo I showed off a week or so ago. Let's say you want to expose some Smalltalk service as a web service - how does that work? Well, let's posit a class like this one, with a simple API. These are all reduced size images; you can click through any of them for a full size image:
So what we have is a simple class, with a method that answers a Timestamp. What we want to do is expose that as a service. So, we grab the wizard from the launcher after loading the WSDL Wizard support, and select the appropriate option:
Then, we select the class we want to expose, and select the method(s) (via the list of protocols) that we want to make available:
Next, we have to define the service interface - Smalltalk is dynamically typed, but not everything in the world is - so we have to define the type information that this API will expose. The wizard supports defining complex data types, but this example posits a simple one - Timestamp:
Next, we tell the wizard what to call the class that will support the actual server API, and what package to shove it into:
Next, we tell it to generate a client for us:
With that done, the wizard hands us some code suitable for use as a simple test case, in a workspace:
Last, we want it to generate some WSDL, so that other tools (or even another Smalltalk image) can talk to this service:
Once we've done all that, you should have a client and server suitable for testing - as seen below:
And that's pretty much it - it works the same way for more complex cases. All in all, pretty easy to work with.
ESPN reports that the Yankees are unhappy with the way the Angels played their last game, when very little was on the line for them:
The New York Yankees will be on the road for Game 1 of their Division Series against the Los Angeles Angels. And the Bronx Bombers are crying foul about it, directing their ire against former Yankees manager Buck Showalter.
Showalter removed starters Michael Young, Mark Teixeira and Hank Blalock for pinch-runners in the third inning against the Angels on Sunday. The Texas Rangers led 4-1 after three innings, but the Angels rallied for a 7-4 victory and earned home-field advantage for the first round against the Yankees with the victory.
Hmm - seems to me that Torre decided to go with a sub-par pitcher instead of Mussina, once the AL East was locked up. So what the heck does he have to be angry at, other than the fact that his team went out and phoned it in for the last game of the regular season?
Here's something that everyone (including me) who's a product evangelist needs to keep in mind - the actual economics end up mattering. The link is to RealTechNews, where they examine the decision making process for hybrid cars (like the Prius):
“White first looked at trading in his Subaru for a Prius, and found that at roughly $3 per gallon for gas, he wouldn’t recover his financing costs. Joe figured that at his annual mileage, he’d save about $746 a year in fuel costs, but it would take too long to recover the premium he’d pay for the hybrid.
“Next he looked at the hypothetical situation of someone without a car looking to buy either a Honda Civic or the Prius. In this case, the fuel savings were roughly $506 per year, versus a purchase price difference of about $8,000. Without even considering cost-of-money issues, it would take nearly 16 years just to break even.” Source: Autoblog
Costs/Benefits analysis is something we all do implicitly. We don't always get the facts right (leading to seemingly odd decisions), but we still do it. In the example above, we see that hybrids aren't going to sell well until fuel gets a lot more expensive, or the premium goes down.
There's a lesson there for a lot of us.
For me personally this issue is over. I took down the website of my own accord. I started the site to get Apple’s attention. Mission accomplished. Now that they have investigated what my site was alleging, and made their own statement and rectified the situation to my (and everyone who has a broken Nano screen) satisfaction, I have chosen to take down my site. Please do not ask me for pictures or emails from people with the problem. As this issue is resolved, I don’t think any of this information is relevant to anyone. I never started out to bash Apple and I am going to keep my integrity on that by removing the site and thanking Apple for looking into this and replacing the screens of those people who have been unfortunate to receive one of the “vendor problem” screens.
The whole Nano storm broke a couple of weeks ago, and had the potential to be a full blown blog/PR nightmare. Apple, unlike Dell, was paying attention. The question to ask yourself is this - would your marketing/PR group know what to do in a similar situation?
Via Scoble, I ran across two meme/search services I hadn't been aware of - Blogniscient (which is in somewhat the same space as memeorandum), and Digg (which looks like it's a cross between that space and straight blog search).
Right off the top, Blogniscient just fails the seriousness test for me. Why? It doesn't provide either RSS or Atom. Well heck - I don't track stuff via the browser anymore - I use an aggregator. Which is not to say that they should be XML only, but they sure as heck ought to be offering it. I don't have the time to hit bookmarks folks - get with the program :)
Digg is an interesting beast - it looks like a cross between memeorandum and feedster, and - like both - it offers syndication services. I was able to add Digg to my list of search providers in BottomFeeder quickly - their syndication feeds follow a nice simple format. I'll check back with Blogniscient from time to time, but until they offer syndication, they'll be mostly off my radar.
Looks like Patrick Logan is getting too much spam - he's turned his comments off. For the moment, I seem to have that problem mostly handled here, via three simple actions:
- Any post that ages off the main view has comments turned off
- Any post with more than N hrefs (it's configurable) is assumed to be spam
- Comments that come in "too fast" get throttled out
That first one can be modified to allow a post's comments to stay on - in which case, an item specific feed is created, allowing tracking. All in all, it's worked pretty well. I get spam, but rarely. I suspect that being an "off brand" server helps as well.
Charles Miller explains, in copious detail:
Given the OPML spec, and the above examples, we can now ask ourselves a simple question: What is the difference between accepting OPML, and accepting arbitrary XML documents of unknown formats?
Answer: An OPML document limits where you can put text nodes.
Read the whole thing - it explains what I meant when I said I had to constantly munge my OPML import support in BottomFeeder early on. Even now, it works only because the entire field of aggregator developers has seems to have a simple attitude about that bit of code in their applications: "If I don't touch it, maybe everyone else will leave it alone too".
Word is, Office 12 will support PDF - both import and creation. Now that's a feature that's actually useful, unlike most of the damage that's been added to Office over the last few years. Still on their todo list - take the ugly stick away from whoever is wielding it against Outlook.
Go out and see it. Whedon wraps up the loose ends (that's as much of a spoiler as you'll get out of me), and it makes for some exciting cinema. Highly recommended.
The Yankees have won their 8th straight AL East championship - now, the perfect ending would be for them to knock the Red Sox out of the playoffs. Time to root for the Indians tomorrow :)
It's time for my weekly look at the server logs. The download rate for BottomFeeder is continuing to be strong - they ran at better than 650 per day last week. The distribution of downloads follows:
Being the "off brand" choice for a number of platforms that aren't well served seems to help :) Next, let's see what things looked in in terms of tool access to the HTML pages.
|Tool||Percentage of Accesses|
Looks like my readers still prefer Mozilla based browsers. It also looks like Microsoft has their bot more properly tuned - it's not grabbing an absurd share in that list anymore. On to the RSS hits:
|Tool||Percentage of Accesses|
|Net News Wire||10%|
I'm sure we'll see consolidation in the aggregator space eventually, but it's sure not happening yet - that tool distribution is still pretty varied. It's especially interesting to me how much - nearly 13% - falls into "other" (i.e., nothing in there individually approaches 1%). The field is still wide open.
TalkLeft explains just how expensive not backing up can be. I've paid good money to recover files as well - $600 a few years ago, for a far, far smaller drive:
It cost $1,250.00 for the restore and another $100 for an 80 GB USB hard drive which I'm about to hook up and see how usable the files are. Bottom line: Back up your stuff. $1,350.00 could have bought me a new laptop or a vacation. Now I'll get neither. It sucks that I had to spend it for this. But, it's my own fault for not taking the time to back up onto a cd-rom or dvd.
Ok, this tale of email that can only go so far is just too amusing :)
Let me try to explain this with some brevity: The short answer is that the White Sox won via a tiebreaker. The White Sox have not clinched the division's best record, but they have clinched the division title. Still confused? If the Indians manage to sweep the White Sox this weekend, both teams will finish the season with 96-66 records, leaving them tied atop the standings. But with both teams guaranteed a postseason berth -- either the Yankees or the Red Sox will necessarily finish with fewer than 96 -- who wins the Central is relevant only when it comes to postseason seeding.
Let's see now - the standings have the Yankees at 94 wins, with three games to go. So - if they swept the Sox, they would end up with 97 wins. Which, last time I checked, was a bigger number than 96. And how are the Indians "guaranteed" a post season slot? If they end up tied with the East division second place team, then it comes down to tie-breakers (and if that's a wash, a one game playoff). They could end up being swept, and completely out of it. How he gets to the Indians being guaranteed a slot? I have no clue...
It comes down to the last three games of the season - there are two slots left - the AL East ring, and the wild card. There are three teams looking to get one of them. Here's how it looks right now:
That's a pretty tight race with 3 games to go. The Yankees and Red Sox play their last three games against each other - so each of those two teams holds their own destiny in their hands - the Indians have it a little tougher, since they can only get the wild card. I saw something on ESPN about the Indians having some kind of edge in a tie-breaker situation, but I can't find a reference for it. The Indians play their last three games against the White Sox, who have clinched the central division. Still - they don't want to go into the playoffs on a losing note.
It's going to be a tense weekend for baseball fans.
Brainwagon summarizes the issues with OPML (and with RSS, for that matter) better than I did - I wish I'd written this:
Scoble likes to champion first RSS and now OPML under the claim that they are good for users. What would be good for users is for the deficiencies of these formats to be absent, or at least invisible. They are not. They manifest themselves in all sorts of edge cases which prevent interoperability. I've spent a great deal of time reading RFCs for various networking protocols and formats, and by comparison the RSS and OPML "specifications" are scribbles on napkins.
Scoble's attitude reflects what I think of as the Microsoft way: it doesn't matter what's underneath as long as what's on top looks shiny. Sure, it will belch smoke, require servicing by a third party every three thousand miles and occasionally make strange sounds that will puzzle and worry the owner, but look how shiny it is.
Read that second paragraph again, and then go read this. The problem with OPML, and with RSS, and with MetaWebLog API is that the specifications are loose. Not just loose, heck, they are basically non-existant. I'm going to do something now that'll surprise a lot of people - I was wrong about a bunch of the crap I gave the Atom group. Ideally, Atom wouldn't have been necessary. But Winer is such an incredibly difficult person to work with that a bunch of people who would rather have tightened up the RSS spec (you know, into an actual spec) went out and created a new syndication format.
Sure, over the time they spent on that, they had a lot of "Angels on the heads of pins" conversations. It seems to me that such things are endemic to standards groups though, and they did produce a specification. And - unlike RSS - if you look at the Atom 1.0 spec as an implementor, you know exactly what it is you need to do. That's simply not the case for any of the formats Winer has created and championed over the years. Yes, RSS has been (and is) very useful. It will continue to be useful. It could have been a lot easier, if only Winer were willing to accept reality.
So let's get back to users. Scoble has a follow up post here - where he summarizes:
James Kew, for instance, asks "why can't a reviewer say something sucks?" OK, I buy that. But, usually Ebert and Roeper have something better for you to see. In this case, I have an app. I have a demonstration of what I want from TechCrunch. I want it too. Is there something better that meets my needs? Give it to me.
The crappy format is good enough until someone comes up with something better. And that's what you're all missing.
Remember the link I put way back at the top of this post to the "broken windows" post from Scoble? Longhorn is very, very late - and a lot of the reason is that MS let a bunch of developers run off with loose (or absent) specs and implement stuff as they saw fit. What a shocker - the pieces didn't all fit together. Well heck - what the do you think we have now with the "crappy format of the week" situation? We have a bunch of pieces from various developers that don't all fit together - and since we don't all work at the same place, we can't toss everything out and call a do-over, like MS did.
So yes Robert - as a user, you ought to give a damn. The reason people have trouble coming up with applications that interoperate well is because the baseline formats that are out there suck eggs. I'm done giving the Atom people crap - they were right, and I was wrong.
Cringely has an amusing take on Microsoft's reorganization:
So now Microsoft has decided to become Cerberus, the three-headed dog guarding the gates of Hades. Ballmer and friends have done what the DoJ couldn't do, splitting the company into divisions for platforms and services, business apps, and entertainment. (It was very scientific: I understand they converted Microsoft's old org chart into MP3 files and put them inside an iPod Shuffle.) The Redmond Ramblers desperately need to bring more innovation and less imitation to the table. The question is, Will the reorg make them smaller and more nimble, or merely three times as inept?
Well - I guess my post on OPML was received with interest by the blogosphere :) I've been thinking about adding a per post cache to Silt for awhile now, but it hadn't really been necessary - until about 30 minutes ago, that is. That's when not having one overwhelmed the server - which is why you might have seen an Apache level error a bit ago when trying to access any of the blogs here.
So... I added a cache to my test server, and tried it out. It worked great, and showed me something else I hadn't known - specific page requests were generating two lookups to the back end, which meant that each time a specific post was asked for, the server rummaged for the specific file twice! That's not good. So while I was in the code, I fixed that problem.
The good news is, the site's back in operation. The bad news is, I now need to upgrade the site. It's been running on VW 7.1 for awhile now (just like our customers - I only upgrade when I really need to :) ). So, I'll be building a 7.3.1 deployment server today and testing it out on my local server. We'll see how that goes, and upgrade the server itself when things quiet down a little.
Dave Buck explains that the problem with manifest typing is coupling and rigidity, and that refactoring and code completion tools don't help with those problems.
Ted Leung spotted an interesting use of blogs - completely outside the tech or political realm:
Last week when I was walking through the kitchen, Julie stopped me so I could see the blog of Seattle-based classical singer Anne-Carolyn Bird (website). I popped the url into Firefox, but it has taken me a while to get to it. Anne-Carolyn's blog is a window into the life of an aspiring classical singer. It was pretty interesting to read her accounts of auditions, rehearsals, performances, and interactions with others in the music community. Via her blog I've found (but not yet gotten to) the blogs of a number of other classical musicians.
It's cool to see people in fields that I know nothing about posting about how things work for them. It gives me (and anyone else who cares) a window into a field that I otherwise wouldn't know anything about - and I'm sure that the other potential windows (random TV shows and movies) are distorted by the same lack of knowledge that I have.
James, here's the deal. I really don't care about specs. I'm a user here. When users say they want something the correct answer isn't to call what they are asking for "crappy" but it is to either say "here's what you're asking for" or it's to say "here's what you're asking for and I made it even better." Or, I guess an OK response would be "I can't do that, sorry."
Well. You don't care about specs as a user. In the abstract, that's correct - you don't. However, you actually do care when it starts hitting you as a user. Consider the field of blog posting tools, all (or nearly all) of which have to deal with the utter atrocity known as MetaWebLog API. As with OPML, it's underspecified, and each implementor has to figure out what Winer thought he meant.
You know what I had to do to get my client and server implementations working? I had to download multiple posting tools, and start hitting my server with them. And working with other people using other tools. And debugging my test server live as requests came in, so that I could see what they actually did, as opposed to what I thought they did based on the sorry excuse for a spec. Based on other posts I've seen, I know that other authors have gone through the same exact problem.
OPML has the same problems associated with it. It's underspecified, and it has way, way too much extraneous crap floating around in it. Which means - as a user - you'll care when you notice that there are subtle interoperability bugs between tools. When those start to crop up, you'll blissfully blame the tool author, having long since forgotten that said tool author is likely pulling his hair out trying to read Winer's mind.
Do I have a better format? No, I don't really do formats, or specs. But I'll say one thing - for all the crap I've given the Atom movement, their spec is easy to implement. Reading their docs, I know what it is - as an implementor - I'm supposed to do. Which is something I've never been able to say about OPML, or MetaWebLog API. Or, to expand the field to other lame specs, Blogger API (where, to be fair, the authors recognized the problem).
You can have a look at the WikiPedia page for an idea of what the consensus view on OPML is.
Finally, there's this request from Scoble:
I am a user. I'll leave those discussions to the developers. But, as a user, I don't really give a flying leap. I see the feature I want. I see that someone has done it by hand to get what they want. I want even more. Are you gonna give it to me? Fine. If not, then can you stay out of the process please?
None of us implementors can give you anything worthwhile so long as we have to deal with utter crap. I'm writing code in this space - both on the server side, and on the client side. So no, I'll stay in the process, thank you very much.
Update: Comments from James Kew and Gary Short. I'll also add this, following on from Robert's "put up or shut up" dare - it reminds me of the oh so common political argument that devolves down to "I care more, so you're facts don't matter". Sigh.
Here's the deal. I will switch to the blogging tool that outputs OPML automatically like what Michael Arrington did by hand.
Will it be a Microsoft service? I hope so. Hey, MSN Spaces, you gonna add OPML and categorization, er tagging, support so this will be possible, or will it be Google or Yahoo that does it first?
Michael, this is awesome. I want this for a whole lot of reasons. It looks a darn lot like tagging support, which we added to Channel 9 , but is a whole lot more powerful. Why? It lets me again escape the Web browser. See, to me, Web 2.0 is letting me do things in an edge way. I can't use Channel 9 while on an airplane very well. I could use OPML, though.
Ye gods, it's time someone came out and said something. OPML is a really, really crappy format. Really crappy. I had massive headaches implementing OPML support for import/export in BottomFeeder. Why? Because there's no real specification. Like everything Dave Winer has ever been involved with, the specs are all in his head, and it's up to the rest of us to figure out wtf he actually meant. Here's the "spec" - and look at all the meaningless crap in it (windowRight? Why is there something specifying the number of pixels for the margin?).
I had to add tons of hacks to the OPML support in order to support the export formats of various tools. The problem? Everyone implemented it a little differently, because the spec is incredibly unspecific - about just about everything.
Getting back to Scoble's excitement, I have no idea why he thinks OPML is some magic mojo that let's him escape a browser. It's a format, and a fairly bad one. It doesn't enable or disable anything by itself.
If you contribute code that lands in the "goodies" directory of our Cincom Smalltalk distribution, we have an announcement that might impact you. We are changing the name of the directory from "goodies" to "contributed". Our experience has been that too many people have been mistaking the name "goodies" for "toys", and never even looking into what's there - and there are plenty of good things in there.
In any case, this may impact the pre-requisite chain for some of the packages in there, so please be aware of the change.
Training companies, for instance, will do the hard work of helping Bryan move his apps to WinFX. It won't be easy. If you watch the Sparkle video you'll see that the entire architecture and development process for building these new apps has changed from the VB 6.0 world. That's why Microsoft hasn't built a porting application yet. Just like there weren't good porting apps from Apple II to Macintosh apps. Or why there weren't good porting apps from DOS to Windows. Or why there aren't good porting apps that'll take you from a Windows app to a Web Services app.
He's making the claim that an application's architecture has to change when moving from VB6 and (insert any version of Windows here) to WinFX? Say what? It's one thing if that "port" means moving from fat client to server based - in that case, yes - the architecture has to change. I had to explain that to people multiple times back in the late 90's, when they wanted to pick up VisualWave and do an insta-port to the web. The basic issue - single user vs. multi-user.
But there are plenty of apps that aren't going to go that way. Not every application needs to support the WS* stack, and plenty of apps are just fine (architecturally speaking) as they exist now.
When someone says "you'll have to buy training and use a new architecture" in order to run your application on a new OS, one of two things is happening: either a non-techie who barely understands "application architecture" is speaking, or you are being sold a pile of crap. Possibly both, I suppose. With Scoble, I suspect it's the former - he's not dishonest.
According to the Wikipedia page for Jacobs' story, the article was edited 224 times in the first 24 hours after Jacobs posted it, and another 149 times in the next 24 hours.
The final draft, which was locked on Sept. 23 to protect it from further edits, reflects the efforts of the many users who worked on it.
Here's the entire history of the effort - it really demonstrates the value of collaborative editing. The interesting thing about Wikipedia is how much it was pooh poohed by people in the beginning - the thinking was, if anyone can edit, everyone will edit - and trolls would end up owning the site. Something else entirely has happened, and it's now an extremely useful resource - I use it when I'm looking up historical references all the time. For instance - I had the History Channel on while I was cleaning my kitchen floor this morning, and heard the tail end of something about the Knights of Malta. Well - Wikipedia filled it in for me.
Joi Ito has some useful globalization experiences to share, from the "sharp end of the stick" perspective - in this case, trying to get a unified credit card account:
I first had an American Express card in Hong Kong, then in the US and now in France. When I applied for the new Amex card in the US and in France, I was assured that my membership date would go back to when I first joined.
Each time I got the card, however, (my French card just arrived) they considered me a new member. A longer term of membership can confer benefits.
When I complained to the French Amex yesterday, the customer service person explained that American Express in Hong Kong is not the same as American Express in France. Funny, because that is not what their advertising seems to imply.
Sounds like some of the large companies out there are not integrated across borders yet. I'd warrant that many aren't integrated within borders yet :)
Last winter we had a meeting with various people who work on such languages - things like Groovy, Perl, Python/Jython. Our conclusion was that the most practicable thing was to support dynamically typed method invocation at the byte code level.
The new byte code, invokedynamic , is coming to a JSR near you very soon. I’m forming an expert group which I will chair (because of my deep fondness for standards, committees, meetings and process). This group will get to argue over various fine details of how this instruction should work.
Basically, it will be a lot like invokevirtual (if you don’t know what that is, either open a JVM spec and find out, or stop reading). The big difference is that the verifier won’t insist that the type of the target of the method invocation (the receiver, in Smalltalk speak) be known to support the method being invoked, or that the types of the arguments be known to match the signature of that method. Instead, these checks will be done dynamically.
There will probably be a mechanism for trapping failures (a bit like messageNotUnderstood in Smalltalk).
Does this do everything everyone wants? No, but that is not the point. It isn’t really feasible to accommodate the exact needs of a wide variety of disparate languages. Instead, one should provide a good general purpose primitive, that all these languages can build on.
If this comes to pass, my longstanding disdain for the JVM as a platform will have to be re-evaluated.
I should stress again that this is an outlier rather than a full-blown trend. On the other hand, it should become increasingly clear to IBM, Microsoft and other content management, portal and collaboration players, that something is afoot. As RedMonk has argued before, blogs and wikis can in many cases functionally replace large scale content management and messaging platforms.
This is a trend that anyone looking into CMS should follow - look at your actual needs, and see whether a full blown CMS is actually what you want. It might be - or it might not
An interesting question came up on comp.lang.smalltalk - the post I linked to provided the answer. The question?
now that you have mentioned it, is '' in VW imutable?
The answer can be found easily - do a "print-it" on this in a workspace:
The cool thing is, I just brought up a BottomFeeder workspace to try it out.
Periodically, a customer or interested party asks me about the future of Smalltalk - invariably, it's a question along the lines of:
Will I be safe selecting Smalltalk? Will it still be here in 20 years?
The thing that always strikes me is the periods people choose to ask about. 20 years is a long time in the software industry. Cast your mind back to 1985, for instance (listen to this song if you have trouble :) ) In 1985, Windows 1.0 was released (in November). It landed mostly with a thud. In the PC world, most people were using DOS, although a not insignificant amount of CP/M installations were still floating about. The Macintosh had been out for a year, but the Apple IIe was still a popular platform (it's what I was using back then).
The most common programming language in use was probably Cobol, although C (K&R C, ANSI C was a long ways off yet) was gaining ground. It would be years before C really broke through in the PC world though - people working on those systems were mostly writing in assembly language. In 1985, C was mostly used by Unix geeks (and I say geeks because Unix had not, at that point, broken out into widespread use in industry).
Smalltalk had been around for awhile, mostly as an academic R&D creature at Xerox PARC. Digitalk produced Methods (the precursor to ST/V) in 1985, and ParcPlace had not yet commercially released a product - that wouldn't come until 1987. Why am I going through this abbreviated view of 1985? Well, let's stand in 1985 for a minute, and - with what I just sketched - try to look at 2005. Do you have any sense that you would be able to foresee the dominance of Microsoft, the fall (and rise) of IBM - or Google and the internet? Would you have spotted OO as the future of software development, and seen that a pair of C hybrids (Java and C#) would be widely used?
I doubt it. Which takes us to the "what about 20 years from now?" question. The short answer is, no one knows. Java and C# look dominant now - but in 1985, what language/system would you have bet on? By the same token, I'd be very wary of making predictions about the year 2025.
A lot of people are going to ask for long term comfort words anyway. As it happens, I can give you some level of reassurance. I mentioned that Methods had just been released in 1985, and that ParcPlace was working toward a release (which ultimately came out in 1987). The current Cincom Smalltalk VisualWorks environment is a direct descendant of that work - in fact, it's a direct descendant of the Smalltalk work done at PARC in the mid to late 70s. So Smalltalk has been around for 30 years now, and in continuous use over that interval (continuous commercial use for 20 of those years). Does that guarantee anything 20 years hence? Like stock traders, I have to say that past performance is not necessarily indicative of future results - but look at these signposts:
- Cincom is now the corporate home of both VisualWorks and ObjectStudio.
- Cincom has been in business since 1968, with the same President now that we had in 1968.
- Cincom is supporting customers using products that were originally purchased in those first years of business
- Cincom is profitable, and privately held - which means that quarter to quarter issues which buffet public companies don't concern us
- The Smalltalk group within Cincom is profitable, and our revenues are growing
- We are currently selling 3 and 5 year contracts for Cincom Smalltalk - which means that we are constantly pushing the future of the product out (legally speaking) into the future
We have a product roadmap here, but you'll notice that it doesn't delve deeply into the future. There's a reason for that. Five years ago, how critical were web services? Given that, just how useful is it for me to talk about what we'll deliver in 5 years? Some vendors have elaborate 3, 5, and 10 year roadmaps. Those vendors are full of (insert your favorite substance here). They have no idea what their products will look like that far out. Demands shift, and plans have to be changed. The Smalltalk group at Cincom is extremely nimble, and has been excellent at tacking in new directions. Take Web Services, for instance - we have a fully standards compliant implementation, complete with code generating wizards to ease the problem of dealing with the mass of WSDL out there. Five years ago, we had no idea that any of that was going to be necessary - and yet there it is. We tacked - shifting the importance of things like CORBA down in favor of WS*.
Nothing speaks to longevity like success, and we have a lot of good stories to tell there. Take a look at our success story page, where users of our technology sing its praises. Many of these companies have been using the product for years - telling you everything you need to know about the value of the product as compared to newer fads that have been crossing the industry. There are a few stories I'd like to point to in particular, as they show long term interest in the product, and high levels of success and satisfaction:
All of those companies have been using Smalltalk for many years - they've stayed with it through various corporate upheavals, including the sale of VisualWorks to Cincom. My point? Smalltalk has been a safe choice over the last 20 years, and the odds are that it will be a safe choice for the next 20. Go ahead and give it a try - download it here.
I thought that - after last year - the red Sox wouldn't need extra help. Check this out:
So is Obi-Wan their only hope? Heh.
I compared dynamic languages and Java with riding a bike; in dynamic languages, you ride on two wheels and you get where you want pretty quickly. You can fall if the road is slippery, if you hit a rock or something, but with a little experience, these cases rarely occur. On the other hand, riding a Java bike is like having 8 wheels to make sure you don’t fall over, 10 people constantly around you, ready to catch you should you fall. You may be safer, but you’re not getting places faster than the dynamic biker.
This came in the context of the following:
A friend of mine told me tonight that his boss is putting the axe in Java at his workplace. This is explained by the very low productivity of Java. Demands made by users are never delivered on time, and apparently the programmers are not really to blame, they know their stuff pretty well. Java is simply too complex, puts too many sticks in their wheels for them to be really productive.
The mainstream languages are a safety net for most people - using them means that you probably won't fail any worse than anyone else. The flip side of that is that you won't succeed any better, either. If you want to go faster, you have to look beyond the mainstream.