I've tried five different ways to get started with Node-Webkit, but haven't gotten the hello world app to work yet. I really want to get going with this, so I thought I'd just detail the steps I took, and provide the actual example app, and maybe someone else will tell me what I'm doing wrong. Thanks in advance.
These are the instructions I was following in this narrative.
I am running Mac OS X 10.8.2.
Opened the zip file with the Mac's Archive Utility. Renamed the folder to nw.
Created a new folder called myNodeWebkitApps, and copied the nw folder into it.
Created a new Hello World folder, containing two files: package.json and index.html.
Using the Finder right-click menu, I selected both files, and created a zip archive containing both files, but not the containing folder. I renamed the file app.nw.
I opened the node-webkit app. Noted that the file type or app.nw changed, as the docs said it would.
There don't appear to be any debugging commands I can use to figure out what went wrong. There were no error messages.
Simon Olsberg left a comment below that had the answer.
It seems a recent update of Node-Webkit broke the Mac version? Going back to 0.8.6 solved the problem. Now I'm getting my Hello World message in the window.
You can get 0.8.6 as of this writing (Nov 1, 2014) from the download page.
BTW, see the follow-up post, about how to organize the app I'm working on. Looking for more good advice.
Last weekend I flipped the switch on the new version of Scripting News. It's a return to a previous format, this time built on standards. Each tab is rendered when the user loads the page from an XML or JSON file stored anywhere on the public Internet.
The formats are: RSS, OPML, River.js and a new one, for the linkblog, generated by Radio3. I think when the dust settles, and that's what I'm working on now, settling things down, this may become a popular way to do a personal web presence.
It's more than a blog. It's also a feed reader. Isn't that weird? Well, when you think about it, isn't that what a blog is??
Anyway, as the guy writing for this site, I am delighted! What I love about it is that now my photos and cards and links all get equal billing with my essays. That was the goal all along. To put a picture on Scripting News I just have to post it to Flickr. There are lots of ways to do that. So now Flickr is part of my publishing system. I wonder what they think of that at Yahoo?
Blogging isn't just about writing anymore, if it ever was.
And the writing is much more the way I wanted it to be. Get an idea, click an icon, start typing, publish, revise. That's the workflow. As simple as possible, and recognize that there needs to be a point where the writing is published, and revisions after that need to be easy and flow, in a different way from the initial composition of the story. I'm writing this now in Fargo, but it could be in any OPML-capable outliner. That's also important. A tools ecosystem can develop because the formats are open.
Anyway, we're getting much closer now to the noteblog idea. Should have some new software for this, soon, I hope.
None of the commentators on TNT last night got what must have been going through LeBron's head. They were talking about how dreamy it was, here he is back in Cleveland, and he must be choking up because it's such a meaningful moment. Is that a tear in his eye?
Yeah, I'm sure that wasn't it. If I were him this is what I'd have been emoting about. "WTF did I just do. Miami was okay. We could have won another title or two. But this shit? For what? Cleveland. Oh man. What did I do!"
Anyway, the Knicks won. That probably won't happen again, in this lifetime.
I've been having trouble with wifi on my iPad ever since I did the 8.0 upgrade, then the 8.0.1 upgrade. Before that, it worked fine, except I couldn't log on to my Facebook account through the Facebook app, I had to go in through the web. It was never able to "connect to the server," through the system settings. I tried everything, including completely flattening the system, and starting over. I accepted the lower functionality. None of my other iOS devices had this problem.
So I decided to upgrade to 8.1 today to see if we could get rid of the wifi problem. After failing to verify the update twice, I rebooted the iPad, something that cures a lot of its problems, but now it asked me to connect the iPad up to iTunes. So I did. It said the iPad was in "recovery mode" and I had to do a fresh install of the OS. I tried two more times, got the same result. So I did a fresh install. Then restored from a backup (no indication what the dates are on the backups, wouldn't it be nice if it just offered the latest, and options to get even older ones).
Now I have an iPad with none of my data on it. No I don't trust iCloud (do you blame me).
The commercials are still funny, but in a way not, because today's Apple software is so much like the PC they used to ridicule. There really is no silver bullet in software, you just have to test, and be conservative in your changes, if you want to keep from breaking your users.
PS: The Facebook app still doesn't work.
About universities and open source projects, and why they go together.
We want to teach technology in university.
So far this has meant teaching programming basics. Which is good, everyone needs to know how to write a little code. It's like teaching chemistry to doctors.
But there's so much more to technology. There's a whole spectrum of activities needed to make software (the code) become useful and responsible to humanity.
There's nowhere to go to learn how to create a standard. Or how to write a great bug report. Or how to explain stuff to users, and feed back what we learn into the design of the product.
How about the full spectrum of possible products? What recipes haven't we tried?
We can even teach how to be creative. There are processes for this. Software design isn't different from any other kind of design.
University should not only be about student projects. We should give students experience with the real thing, production software, used by actual people. When you make changes you can break users. Let's teach the next generation of developers how not to do that. Again, there are techniques and methods for this. We've been around this block.
University has a role to play in software. These are our most long-lived institutions. People should come in and out of university all through their lives. The projects we work on when we're students can be the ones we continue to work on in our careers, when we take a sabbatical and when we retire. We should be constantly sharing and recycling the knowledge we gain.
Education has been struggling to find a role in technology, but to me, the role is very clear. Teaching, through practice, and research -- developing new knowledge.
Every university should host an open source project. It should be a process that lasts decades, spans generations. The goal is two-fold: Add to our technology, and to develop better developers.
I would like to be part of the Internet where people say what they think, no matter how different, or offensive it may be to some people. Why? I care what people think.
I find I can learn from lots of points of views, even ones I don't support, although having ideas I object to repeated over and over ad nauseam is not what I have in mind.
The actual Internet I use is becoming a monoculture, where only certain points of view are tolerated. More and more so every year. This totally sucks.
If you force people to stop expressing ideas you don't like, that doesn't mean they go away. And if you can't hear what other people think, you can never change your mind. And you're probably wrong about a few things too, as we all are.
This picture was taken at Davos on January 27, 2000.
It's notable because I was wearing a suit, as is the custom, in a ski resort in the Swiss Alps.
I know it doesn't make a whole lot of sense to me either.
PS: A blog post I wrote from Davos, two days later. Pretty sure I wasn't wearing a suit when I wrote that piece.
PPS: I'm not wearing a suit now.
The clipboard in Chrome/Mac is getting worse not better.
Basically there are times when Copy just doesn't work. The way to work around it is to create a new tab, set up the tab so that the text you want to copy is selected, and do it again. It might work.
Repeat until it does work. Sometimes copying stuff to the clipboard, an operation that shouldn't require any conscious effort for an experienced user such as myself, takes minutes.
That's Chrome on the Mac. Now Safari on the iPad, another of my mainstays, can't copy and paste.
This is such a basic important operation for a computer, to be able to copy an idea from one place to insert it into another. This kind of breakage simply is not acceptable. Yet what choice do we have other than to accept it. It may seem like a small annoyance, but it's a very huge change in the way computers work. And not something anyone else is likely to ask about. So I thought I should.
On October 29, 1994 I wrote an emotional piece about being a developer for Apple.
I had just read an Amy Tan novel about life in China many years ago, and found a lot in common with the life of Mac developers in 1994. Developers cook the meals, care for the babies, and don't ask for much in return. Apple was in trouble, my theory went, because the developers weren't getting enough love.
"A platform is a Chinese household. One rich husband. Lots of wives. If the husband abuses one wife, it hurts all the wives. All of sudden food starts getting cold. The bed is empty. All of a sudden husband isn't so rich."
Today Apple has recovered. The platform isn't exactly a happy household, but it's better than it was then. Twitter has the problem Apple had then.
The more things change, the more they stay the same, someone once said.
Here's an excellent example of the mistake many platform vendors make.
IBM is not a developer that will help Twitter overcome the obstacles in its way. The devs that matter are people, not huge companies.
Apple made that mistake too, parading out partnerships with Borland and IBM, and overlooking the developers, including Microsoft, btw -- who were cooking the meals.
People don't understand how Ebola is different from heart disease, cancer and diabetes, often-cited examples that will kill more people this year than Ebola will. Even in Africa, right now, Ebola isn't likely to kill that many people before the end of the year.
But the big killer diseases are chronic. They are very predictable. Not only do they kill a lot of people, but we know, with a high degree of certainty, how many they will kill, and who is at risk to die from these diseases, now. But none of that is true for Ebola. What we do in the next weeks will matter a lot in determining the outcome. Ebola, could, unless we're smart and aggressive, kill a lot of people long before they'll die from the chronic diseases.
Wired has a must-read article that explains why the near-future could be very dark if we're not smart now. Ebola is more of a present threat than climate change. They also explain that the secondary effects of an outbreak, even far away from North America, could be devastating. It's a world economy. Our borders don't mean nearly as much as they used to. An Ebola outbreak in Malaysia, India or China, could cause a world wide depression.
Right now, resources directed at containing Ebola in Africa would be money well-spent.
Say yes to Facebook, because it's distribution, and you need it. They reach people you don't. It's found money.
Build an industry news system, as Hulu was for the television industry, to be sure there's a way for you to get news to your followers, independent of the tech industry. The software it develops should be non-proprietary, so it's possible there will be many Hulus-For-News.
Each news organization reaches into their own communities, however they are defined, geographically or by interest, and brings in the best amateur writers and news makers, to tell their own stories. Become a coral reef for news in your community. It's not the paywall that's keeping you from growing as it is the story-wall. News is no longer an elite thing, everyone can do it.
With that in mind, work with local school districts and universities to teach basic journalism skills to students at all levels. This is more important than teaching kids to "code." Everyone has a story to tell, and we can all learn to do it better. What passes for opinion on the net is primitive. Let's work together to upgrade the news experience no matter who's doing the writing.
I want to package it up so it's super simple for a regular user to install and run it. No installing of runtimes. Just download an app, double-click, and start editing, and configuring via web forms. It can't run in the browser, because it has to access the local file system.
If either of them had a simple Hello World app that I could run and start working with right away, without having to wade through docs by trial and error, I probably would go with that one first.
I'm looking for advice from the people who read my blog who have used one or both of these toolkits. The result will be a new capability for the open web. So you're helping a good cause.
Last night NYT columnist David Carr ran a piece that outlined the prospect of the news industry working with Facebook.
He is a wonderful writer, and came up with a fantastic metaphor for Facebook. "For publishers, Facebook is a bit like that big dog galloping toward you in the park. More often than not, it's hard to tell whether he wants to play with you or eat you."
First a disclaimer. I am under non-disclosure with Facebook, and have been meeting and talking with people from the company about their news strategy since April. I have not been paid for this, so I'm still an independent developer. I am creating software designed to fit into the new ecosystem that Facebook is contemplating. That ecosystem is a lot like the one I designed years ago around RSS.
Now, the fact that I'm able to work with them tells you something about what Facebook is doing, and how they're doing it. If they were planning on eating the news industry, I would ask for a lot of money to help them do it. I might take the money, because the news industry is so frustratingly unable to chart their own future. And we do need news. And maybe the news industry isn't the best way forward for news in the coming years. One has to consider all the possibilities, even an independent developer and blogger such as myself.
But so far I am optimistic about the changes that are coming.
First, Facebook isn't a dog, so let's get that out of the way.
Facebook is a huge social network with 1.3 billion users. It runs amazingly fast for something so grand, and is almost never down. It's an unprecedented technical accomplishment, akin to a moon mission or a self-driving car. All those data centers responding to all our interactions, so quickly. That's never happened before on the scale that Facebook operates.
But in addition to sharing selfies and family events, it can also be a fantastic news delivery system. It can, but it isn't yet that. Sure there are news stories on Facebook, but the designers there envision something much greater.
So what does Facebook want? News, that's what they want.
Do they know how it will turn out? I'm sure they don't. They didn't get to be Facebook by answering all the questions up front before embarking on a technological journey. They put something out there, see if it sticks, learn from the users' experience, change the product, etc etc. How do I know this? Because it's the same process every other person who designs software uses. We don't know how things will turn out, any more than the manager of the Giants knows the outcome of a World Series game before it starts. You just put your best team on the field and see what happens.
What Facebook wants is lots of news to give their users. And of course they want to put advertising next to the news, as always, and they are willing to share revenue with the news people and software developers.
While I think I understand what Facebook wants, I'm pretty sure I don't understand what Carr's employer, the New York Times, wants. They hire engineers, but they're more like producers. They aren't building a news system to compete with Twitter or Facebook.
Unlike Facebook, authoring for the Times is still an exclusive thing. I can put something up on Facebook, and there's at least a chance of a million people reading it. I have no idea how to post a story to the NYT website, being deliberately naive about it. Being a realist I understand this is a club I can't be part of unless I'm invited in.
I don't know. The Times hasn't articulated a clear strategy. I don't know what they're doing, so it's hard to know whether it makes sense for them to work with Facebook. But, it's hard to imagine a scenario where they can afford to say anything other than an enthusiastic Yes! to the offer to collaborate. I certainly said yes when they asked me, without a moment's hesitation.
Well, I wrote a blog post about that, of course.
The short answer is this. Like it or not, Facebook exists.
Sure I remember a time when they didn't. Had I done things differently perhaps I could be where Zuckerberg is now. But that isn't what I wanted. I envisioned a world where there were lots of totally independent Internet-based news orgs and bloggers, on a level playing field, all learning from each other, and gradually, iteratively inventing the future of news.
But it didn't work out that way, for whatever reason. Now Facebook exists, and they are offering to work with us. How can you say no?
I don't think so.
Go back a few years, when YouTube was first gaining prominence, and consider the panic that went through the television industry. They found an answer, Hulu. And then Netflix, which is a fair compromise.
A lot of the TV industry remains intact, in fact it's flourishing. Quite possibly the same way that Facebook and the news industry can co-exist. But we need a Hulu for news, and lots of smaller hubs, analogous to the movie industry's festivals. Open news rooms. Places for independent news efforts to flourish. Bloggers and YouTubers, we're really the same thing. And these days you see a lot of YouTube on networks, on the nightly news and entertainment shows. News has to go through a similar transition. It has to become less exclusive, less elite. This rigidness is doing more harm than Carr's imaginary dog could ever do.
Here's a four-step roadmap for the news industry.
Game 6 of the 1986 World Series.
This was the most thrilling moment in sports for me, and there can never be one that tops it, because as Mookie says, I remember exactly where I was when it happened, and who I was with.
I was watching the game with my father and brother in my brother's apartment in Palo Alto. My father would have been about my age now. What I remember most about it was my father rolling around on the floor in disbelief as the game got more and more weird. You have to understand something. My dad was not known for being casual or having a great sense of humor. But what a moment.
I'm so glad the MLB decided to make a video about this. Until now you couldn't find it on the web. Every time one showed up they made them take it down.
Oh Mookie. I'd sing God Bless Mookie if it worked as well as God Bless Hunter Pence.
Since my blog is now a software product, it makes sense that it should have a version number. Today's release is v0.41. You can see the version number in the upper right corner of the menu bar. It's not visible when viewed on a phone, however -- since the phone version doesn't have a menu bar.
Now it makes a new appearance, hopefully for the duration. It's the implementation of a basic good idea, Narrate Your Work, something I wrote about in 2009, but something I've believed in ever since I started working on software. It's a good idea to slow down enough to tell the story of what you're doing, at least in outline form.
If you add a tab param to the url, and name one of the tabs, that will be the tab that's displayed. So if you want to send someone to my River tab, this is the address you'd use.
The menu bar at the top of the page is fixed as you scroll vertically.
Images now appear in the blog tab. This is something I forgot to do in the conversion.
What a great game last night, especially if you like the Giants, which I do. I can imagine if you're a Royals fan you probably didn't think so. But that's the way it goes. I can't say I hope your team wins tonight, because I don't. I love the Giants, and I especially love Hunter Pence.
Last night was when I flipped the switch for the new Scripting News home page. I've been dreaming of this page for a long time. I wanted to bring together all the news projects I've been doing over the last year in one place. I gotta say it hangs together nicely.
One of the cards I did last night, during the singing of God Bless America, was a version of the idea with Hunter Pence in place of America. This turned out to be my favorite card of the night. I wanted to say why I liked it so much.
Hunter Pence is radically great, in every way. He has a pure joy in baseball. All the World Series players have this. You can see it. But with Pence it's especially strong. Like Mookie Wilson had it. Pence is a philosopher.
I love my country, but detest the singing of God Bless America at baseball games, especially at the "world" series. A lot of the people on the field and in the stands are not from America. Some of them may not even like America. And we have always stood for inclusion, as a I recall from my grade school lessons in history. But singing about God and America is just wrong. Especially since it's always about war. Baseball is a fun sport. To hitch it up to such a corrupt cause spoils the whole thing.
So I'm going to sing God bless Hunter Pence when they sing God Bless America from now on. It's like Alice's Restaurant.
It took a long time to get here!
There are six tabs, and three menus, in the new interface.
Photos -- from my Flickr feed.
Links -- from Radio3.
Cards -- from Little Card Editor.
River -- from River4.
About -- which I wrote in the OPML Editor, for old times sake.
I create lots of different kinds of content. I write, I take pictures, and make cards, and curate news. I select feeds to form a river.
All of it should come together in a place that represents me, online, as a person.
Scattering it all over the place is cool! As long as there's one place where it all comes together. That is this place, my blog, Scripting News.
They seem kind of self-explanatory. I expect to add more to the menus.
If you like software, and this is a blog about software, among other things, what's interesting is that there isn't actually any content in the home page. Three of the tabs are built from RSS feeds: Blog, Photos and Cards. The Links tab comes from a JSON file that Radio3 outputs, and the River tab uses the River.js file that River4 outputs, again in JSON. The About tab is in OPML, of course.
It's more of an application than a web page, but I guess that's the way we do things these days.
This part is getting pretty routine. Give it a try, let me know how it goes.
I want crowd-speaks.
Yes I am part of a crowd. Undifferentiated slurry of humanity, with collective wisdom and intelligence and blah blah blah etc etc.
What I want is my name under your masthead. And the same opportunity for anyone with integrity, an idea and a little expertise. The floodgates have been open for 15 to 20 years.
There's still an opportunity to make some of that stand out from the rest using the NYT brand. But you have to give up some or most of the elitism, but not the intelligence and integrity.
I'd prefer a stronger pledge, to make the pathways in and out, easy and open, always.
That way I can hook it up to any flow I want in either direction.
It's like have a fire exit in a movie theater. It's makes it possible for people to invest without fear.
I watched most of yesterday's press announcements about Twitter's new toolkits for developers. I know they can't do everything, but I was surprised that they're more or less leaving the Twitter API as-is, at least based on what I heard yesterday. There are so many people I'd like to gossip with this about, and I know I won't get the chance, so here's a blog post instead.
I really want a service that does what all three of them do. Every app needs identity and storage. Not necessarily a lot of storage. A megabyte is a lot of space for an outline, which is basically an XML document. With the amount of space used by a few pictures, something Twitter and Facebook already do for users, without limits, a huge range of interesting apps could be written. Today we have to do that for ourselves. It would be easier for everyone if the platforms did it too.
There's a big void out there, someone should fill it. If Twitter had it would have made 2015 a more interesting year, imho.
I want to be able to write down a short idea, one or two paragraphs, hit Publish (or the equivalent) and move on to the next thing.
When I publish it should...
Appear on my home page.
A link should be sent to Twitter.
The full text should be sent to Facebook or/or WordPress, including a link back to the original post. Revisions to the post flow to Facebook and WordPress.
Be included in my RSS feed, with full text.
The most important thing is it be quick. I lose good ideas because there's no place to put them, or if I put them on Facebook I'd lose them shortly after they scroll off (why is it so hard to find stuff on FB). I need to be able to open my outliner, hit the Big Plus, enter my idea and get back to what I was doing. Quick.
This is essential for my blog and also for my worknotes outline.
I had an interesting conversation on Facebook yesterday with Joey DeVilla. It was actually kind of an argument, but it reached a satisfying conclusion, and I think the story includes an important lesson on how to interpret art.
I had written a piece that I knew would be controversial when I wrote it. That's okay, that's one of the things that makes a story good.
It was a story of when I was a CEO of a tech startup, a long time ago. We had an employee sue us for wrongful termination.
It was probably a setup. The guy had sued previous employers, it turns out, though I didn't know it at the time. It never showed up in the reference checks we did, probably because lawyers advise against telling future prospective employers about these things, thus provoking a new lawsuit. And often settlements include mutual non-disclosure agreements.
We didn't terminate him because he was older, he was fired because he wasn't doing any work. We were a small company, and struggling, and this was before VCs gave startups lots of runway. Once we got our initial investment, that was it, we were on our own to either make it or not. We couldn't afford to have any developers on staff who weren't producing.
I told the story because most CEOs don't blog, and when they do, they are subject to legal and PR constraints that make it unlikely that anyone will ever tell this kind of story publicly.
My CEO days are behind me, so I can afford to tell the story of how CEOs make these kinds of decisions. I wanted to provide that point of view, add it to the mix, so people could understand one simple idea. That not all complaints by employees are valid. Sometimes the employees are scammers.
Joey thought I was saying that employers should age-discriminate! Oy. Nothing could be further from the truth. He said this was bad because I myself was 58 at the time (I'm now 59). I said to him, yesterday, that should have been a clue that he had drawn a conclusion about my thinking that was incorrect. Since he's not a CEO himself, and he does not think like one (a good thing, imho) I guess this wasn't obvious.
This makes it good art, because it caused a strong reaction from which we both could learn about ourselves and each other. Unfortunately his complaint came at a time when I was in the middle of a mob of assholes, and I could have used a friend, instead of yet another person who made me out to be evil when I was just telling my story, which is what I do, as a blogger.
Art is about what you see when you look in the mirror. A good work of art causes you to see something about yourself that you didn't see before. Anything that causes a reaction is art. Even if the reaction is "That's not art."
I love Joey. I really do. He's funny and smart, and he plays the accordion. And the thing that makes our friendship strong is that we're both willing to admit when we made a mistake. I remembered, incorrectly, that he had written a whole post excoriating me, when it was just a sentence. It was a sentence that hurt, but it was just a sentence.
I read Marco Arment's post yesterday about Twitter from a developer's point of view. I agree with all he said, but came to a different conclusion.
Yes, Twitter screwed its developers, but...
Apple did too. I was a Mac developer in the 90s, and Apple did a series of reversals, for the same reasons Twitter did. Changes in management. Stock market pressures. Corporate confusion. The return of the founder. First System 6 was to be "it," then Copland, then NextStep, and finally they bundled apps that, they said, made ours obsolete. They didn't, but that wouldn't have mattered. So we left. And like Marco, re Twitter, stayed away.
But Marco is an Apple developer. I'm sure he doesn't overlook their past transgressions, but if you want to make software for a corporate platform, these are the risks. They all will eventually screw you. Is it worth it anyway? That's for each of us to decide.
I make news software. Given what I do, I have to work with Twitter. The only other options are to change what I do, or to retire. I've tried that. But I keep coming back. I like what I do.
My approach is to have more than one leg. I send news to Facebook, to RSS and to the web via HTML. If Twitter screws us again, I'll still have the other legs. And, because the other legs are there, I think Twitter is less likely to screw us.
Also, I'd bet on this: Twitter is not going to screw us in the short term. They need us as much as we need them. Independent developers are where wholly new ideas come from. You can't hire people to do that to work inside companies. They are subject to the mess that companies are, always. Twitter is no exception. Just look at history. It's always independent developers that break through. Twitter desperately needs this. Their internal development has to go in a certain direction. With developers creating new stuff, they have a chance at some new ideas developing around their platform. The more limits they put out there, the less chance there is. Do they understand this? I don't know. I hope so.
They are a public company, and I have a voice. I can talk to users, other developers, their competitors, the press. If Twitter reverses, again, visibly, it won't be a quiet thing, as it was last time. They're in a different place now. And when it happens, assuming it does, while I am still developing, the world will be in a different place too. It's impossible to foresee how it will go, but it almost certainly will not go the way it did last time.
Corporate platforms always have this problem. The best thing is for us all to invest in our collective interest, and create alternate ways to flow news that are not centralized, where there's no company that can shut us down. I would argue that long-term this is even in Twitter's interest, but Marco -- you and I and every other independent developer, we have collective interests. We'll do better if we, in addition to supporting the corporate platforms that we have to, also invest in open platforms that work alongside them.
Update: The full text of this post appears on Facebook.
I'm getting to re-read my early DaveNet pieces, in sequence, as the month of October rolls out. These were the first posts, where I was trying out ideas to see what works. But behind it all there's a story I needed to get out. It wasn't even the story of how the Internet kicks butt (though that was the subtext to a lot of the pieces).
The real reason I was writing was:
I was a Mac developer.
I had a heavy investment in writing Mac software.
The Mac was the best machine for creating content for the web.
The Mac was losing, in the press, and with developers.
But there was still a lot of Mac software, and it was still better than anything you could get on Windows. Far better, because the OS had years on Microsoft, as did the developer base.
Now get this, even though the Mac was still ahead, the press was reporting the conventional wisdom: Mac is dead. Reason: No new software.
But that was crap. The reporters knew it was crap. Because they were all using Macs (there were exceptions, people who covered Microsoft, for example). And they didn't do this out of the goodness of their hearts. They did it because if they were to use Windows, they'd be leaving a lot of stuff they need behind.
But what they were saying was killing the Mac.
I wanted to keep playing, and I did not want to port my software to Windows (I eventually did, only when it was clear that Apple was abandoning our platform, in favor of NextStep. After all we had been through with them, if it meant porting, I'd port to Windows, and get off Apple's trail for developers.)
Key point -- the blogosphere was created out of a story that the press was telling that was damaging, costly, and untrue. Had the press responded creatively to the Internet, and said "Geez this reshuffles the deck, we thought Apple was dead, but look, they've actually got a big lead" -- I could have stuck to writing software.
Never mind, because Apple never accepted the advantage they had in the web. They had good reasons -- everything they stood for was violated by the web. The Mac was a graphic computer. The web had GIFs and JPEGs, but aside from that it was entirely text based. It was a Unix developer's dream. And a graphic developer's nightmare.
I'll go where ever the action is. If I have to learn how to develop graphic apps, so be it. If I have to learn HTML, okay I'll do that too. But Apple wasn't like that. They saw the web, didn't like it, and said no thanks.
Needless to say all this made great fodder for a blog. And that's why DaveNet and then Scripting News, were so successful and inspired so many others to do it. I thought I was making web content management systems. But to make that work, we needed to have content that needed management, in other words, blogs.
Thanks for listening!!
PS: This piece started as a Facebook post.