Braydix vs. Google Chrome OS

So I won’t lie – when reports started coming out about Google’s new Chrome OS, I was completely devastated. I liked to pretend I was making Braydix ‘just for fun’, but I think I had always secretly hoped that I might someday make a product of some sort out of it. Google’s announcement basically means the chances of that are nearly completely shot. That did not make me happy, to say the least.

But it’s been some time, and I’ve cogitated on it and pondered and moped, and I think I’m going to keep messing with what I’ve got. There are a few possible outcomes

  1. Google claims their software will be open source. So there’s nothing preventing me from taking whatever I want from that and integrating it with whatever I’ve got. I’ve got a pretty nifty filesystem, and a pretty tight high-level architecture for stuff.
  2. Or, if they really do a great job (very likely), I could just switch to it, completely. Whatever services or things I make available to my ‘thing’ can probably be made to be just as available to the Googlers.
  3. Or if their licensing terms are horrible, or their product is Big Brother-ey, I become the ‘friendlier’ alternative.
  4. Or maybe Braydix just becomes irrelevant.

The likelihood is that Chrome OS will suck whatever amount of developer-juice and hobbyist-interest away from me, and to them. I don’t foresee that changing.

But whatever the GOOG does, they cannot take away from me what I’ve learned, or what I’ve built, and if they make something that I don’t like, I can always make sure that I am making something I do like.

I do think the amount of time I spend on Braydix will decrease. It’s natural – when I have something that isn’t so unique and wonderful and clever as I thought it was, the impetus to work on it decreases. And when Google is advancing the same thing as I am, their bandwagon is a touch bigger than mine.

All that being said, though, here’s a nifty new version of Braydix. It does lots and lots of clever things, but to the end-user just looks like it boots up into a browser, and that’s it. When there are software updates to be had, there’s no ‘updating’ process that has to be run, the new version is just ‘there’. There’s even room for some way of running third-party apps. As a neat little aside, it will even work completely disconnected from the internet…though since all it does is browse the web, there’s not much of a point. Yet. Anyways seems pretty simple, but the truth is far more complicated…

********** WARNING. GEEKS ONLY BELOW THIS LINE ***********

Like any Linux distro, Braydix uses its own initramfs as the tiny bare-minimum memory-based filesystem from which to mount the ‘real’ root filesystem. The Braydix initrd looks for a ‘cache’ hard drive that it can boot from, and boots from it if it can. If it doesn’t find one, it uses a special “bootstrap file” to prepare a minimal set of files that so that it can boot up and launch a browser (and network config utilities and disk config utilities, etc). Once I got the files down to a size where they would fit, I used a ‘CRAMFS’ file to jam them into (it’s a special compressed filesystem).

Once the initramfs has loaded, it passes control on to the cache HD, or the minimal filesystem from the bootstrap. That’s the piece that manages to overmount crestfs over the current ‘web cache’ (whether it be a disk or temp files). CREST-fs is the crazy thing that I built that allows you to mount the whole of the Web as a filesystem. The ‘overmounting’ trick is tougher than it seems – the very files you’re running off of are the ones that are being replaced by a new copy! Gotta be careful – and debugging is a bitch. The cache that it’s overmounted-over is treated as cache, and if the contents are ‘current’, newer versions won’t have to be grabbed from the internet.Then it launches the browser.

The result? a 30 meg ISO. And I haven’t really gotten deep into trying to squeeeeeze and scrunch the files in there down (but I don’t think it will help much). and that 30 meg ISO could have give you access to a huge and complex back-end system – as I am expecting to do. It’s really fun putting things *not* on the bootstrap file, but on the server, and watching them show up on my test VM. That’s probably what’s happening next – write support (somehow), C compiler, and getting it all to be ‘self-hosting’ – instead of using a Redhat install as my ‘workstation’ to develop this, I will use instead a Braydix install to develop it. That will be fun!

Oh, and F google. F ’em in the eye. They’re starting to really freak me out.

Google Chrome

So for my first day being self-employed, I got a chance to work on my PC. So I decided to give Google Chrome a spin. Here are my very brief thoughts on the matter –

I don’t know why, but I don’t find it pretty. I’ll leave the why’s and wherefore’s to other people better qualified than me. But even though the interface is quite spare, which is good, it just looks ugly to me. Perhaps I am ignorant. Who knows.

The whole ‘every tab gets its own instance thing’ – I don’t think people understand this yet. This is not a speed play. I’m sure they’re trying to make it as fast as possible – but it’s not for speed or reduced memory use. It will probably slow things down and increase memory use, in fact. It’s for stability. Whenever you’ve crashed your browser and lost all of your tabs and windows and such – you know the pain that Google is trying to prevent. What is supposed to happen, allegedly, is that the offending tab will, indeed, crash. But nothing else will. Your other tabs should survive. If that’s useful to you, then you should give the browser a spin.

Since under Chrome it’s possible to have very very long-lived browser processes, looking at memory use right after launch of Chrome, versus right after launch of Firefox (or any other browser) doesn’t really make sense. Look at the memory use of the two after they’ve both been up and in active use for 8 or so hours. My bet (though certainly not certain!) would be that Chrome will not have used up much more memory than it started with. Whereas if my personal experience is anything to go by, Firefox will have bloated out significantly. In fact, Firefox tends to get all whacky for me and stop loading stylesheets and stuff after a certain amount of time (which could be days). I am to the point where I can recognize this, and know that it’s time to relaunch it. I’m thrilled at the prospect of not having to do so. We shall see – because I’m going to try to run Chrome into the ground today, and see what happens.

Two items, tenuously related – Google and iPhone OS 2.0

Google is fallible

We always think of Google as the unstoppable juggernaut that can do no wrong. But this isn’t so. Examples : First, Google Browser sync. This was a neat little extension you would install in Firefox, and it would automatically synch your bookmarks, cookies, history – everything – to a central Google server somewhere. Pretty neat, sure, though a little scary – though what with Google isn’t? After Firefox 3 came out, I tried to see if I could grab the latest Google Browser synch. Though I’d been working without it while using the Firefox 3 Beta, once FF 3 was officially released, I assumed a new version of the plug-in would be as well. Nope! It’s been discontinued…perhaps there wasn’t enough take-up? Perhaps there were too many internal business conflicts regarding it? Who knows. But here they built a thing, and finally they say “Whoops, sorry, we’re taking this thing down now.” There are alternatives, of course, but I just thought it interesting, because it made me think of them different.

Once I’d gotten it into my head that super behemoth Google can slip up, I was able to look at another feature I’d thought about myself before – Google gears. This is a browser plug-in that lets you access web applications offline, as well as online. Take a look at this architecture description, and my gut says they’re doing it wrong. (Bias alert: I have thought about solving this problem a different way.) Being able to use Gears with my google Docs and google reader are both pretty neat though.

So the iPhone 2.0 software came out (more about this in a minute). I need an RSS feed reader. NetNewsWire is out for iPhone. I need that. I get it. To ‘synch’ my read-items vs. unread-items, I need ‘newsgator’. And, just like that, in the blink of an eye, I move off of google reader, and onto NetNewsWire for Mac and NetNewsWire for iPhone. I’m not yet 100% convinced about how well it works – I still get definite feelings of ‘clunk’ going on, but I can read my newsfeeds while in the subway. Win.

They’re human beings – flesh and blood, like you and me. Prick them and do they not bleed? Their dominance can be challenged when they misstep. They’re no Microsoft, yet, but they definitely are mortal.

iPhone OS 2.0

Exchange support took a while to get going. I had to delete and readd my account, twice. I wanted it to ‘automagically’ figure out that I was on Exchange before, and I should now be on Exchange and use Push features, but it isn’t that clever. The fact that it wanted to WIPE OUT my contacts Really, really freaked me out! i don’t use the calendar on my phone all that often, so wiping that out and replacing it with my Exchange calendar is not a big deal. Emails show up on my phone faster than they show up on my computer. I can send, receive, accept, and decline meeting requests. My calendar has my Exchange calendar. This makes my life a bit better.

However, my battery has suffered, for sure. It could also be that I was poking and prodding my phone all the time, but I do think that Exchange activesync whatever it is seems to slurp more juice.

I have been gorging myself on apps. Like some kind of guy who just wandered out of a desert into an all-you-can-eat buffet, I’m stuffing every single application that looks like it might be interesting – and many that aren’t – onto my phone. Plenty are shitty. Plenty are crashy. Some are pretty neat.

  • Aim – crashy, but useful
  • Twitteriffic – sluggish, pretty…jury’s still out
  • eReader – requires an account? May toss it.
  • PhoneSaber – AWESOME
  • Remote – Haven’t tried it yet, but I hear good things.
  • Facebook – Lame
  • Cube Runner – Fun!
  • iPint – Cutesy, marketing stuff. Kinda ok. Wish I liked Carling beer better.
  • Whrrl – Haven’t fiddled to much, dunno.
  • NYTimes – Nice concept, crashed on me and even took my phone with it once.
  • NetNewsWire – Pretty straightforward, probably a few point-releases and it will be good.
  • Scratch – Pretty cute toy! If the controls were a liiiiittle more real-timey, it would be better.
  • Loopt – I can’t tell if this is genius, or shit. It’s weird, and I keep feeling like I don’t know what I’m doing with it.
  • Mobile News – Simple, does what it’s supposed to.
  • WeatherBug – Not bad, little more detail than your regular Weather app. S’ok.

Google Everything

So, Google has pretty much done all the stuff I intended to do, oh so many years ago, with their very good and very clever web apps like Gmail, Google Calendar, Reader, Google Home Page, Docs & Spreadsheets, etc. So I’ve decided to wade in and start using all the great little applications – well, not little, big. A few slight snags – first, for Gmail to be useful, I’ve had to forward other mail accounts to it. Second, I had to change my name. My old Gmail name was something I thought was really cool when I was like 14 and into BBS’ing. However, I’m 900 years old now, and I have professional needs and stuff, so I had to come out with a slightly more regular-human-sounding name. Okay, easy enough, done. Now alllllll this crazy Google shit I’ve accumulated over the years I have to try and move over. Not so easy. Browser Sync? Easy, delete the service and re-add it. Email? Forward my old gmail to my new one. Docs? I guess I can share out all my docs to my new self (done), and this Blog here…well…I guess, I can invite my new self to collaborate with my old self…weird, because my old self is going to remain a weird vestigial account forever in the future, I guess…until Google lets ownership of things migrate back and forth. Some services of Google’s I don’t even mess with, but I’ve used at some point, so I don’t have here. But I don’t think that matters.

So, problem number one. My browser just hung while I was typing this. My opinions about browsers are well known, and I’m on a Mac, which can be less nice than using a Windows box when it comes to AJAX-heavy Javascript-ey stuff. So I had to actually type the first paragraph again while looking at the frozen screen in my other browser. This is why I always have 15 browsers available in my Applications.

Next – as much as I like to keep thinking of myself as ‘ahead of my time’, I’m not. Quite frankly, I never imagined that the Web, and regular-issue Web browsers, would ever be able to do the stuff we can do in a Browser today using Javascript and the DOM and such. I mean, don’t get me started on the fact that Javascript is an interesting language that’s just miserable to program in because the environment it lives in is so awful, or the DOM as being the worst API to do anything anywhere, but the end result is still insanely powerful.

But, now I got it all here, and I have to say, I’m a liiiiittle bit disappointed. Not very, but a little. Gmail isn’t as fast as I had wanted. It’s still fast – and really comparable with, which is my favorite mail program up until now. We’ll have to see how it goes.

And I made my own custom Google homepage. That’s really, really, really great. I have a little box for my mail, my calendar, my RSS feeds…it’s pretty cool. I tried to do this with my Apportal software (one of the many failed or semi-failed attempts at making the NetServOS software back in the day), and it didn’t quite make it, but Google has completely nailed this one. Very impressive, guys. I’m even considering making a little doodad for it.

The only thing that bugs me – only slightly, but it does bug me – is that you only get what you’re given. What you get is what Google gives you. And that’s nice, Thank you Google, for giving us stuff, but I don’t think I can imagine a world where all software comes from one single great benevolent software entity. Even Google. Or Microsoft. Or MicroGoogleOracleIBM. Eventually, someone’s going to want something that doesn’t exist.

Proof: Let us posit that Google has made all applications that you could ever want, which all work in whatever fashion you desire. Ok, fine. So I want an application that lists applications that I want, but don’t exist yet. Ah ha! Wait, I guess that means Google might give me a nice Google-branded empty window which says, “Here are all applications you want that don’t exist!”…crap. Forget that proof.

Okay, just take my word for it. Nobody can make everything you want. So what’s going to be the solution for that? I think lots of that is tied in with Identity – and there are some stupid people working on it (Microsoft, Liberty Alliance), and some less stupid people working on it – – for example. But they insist on representing a user’s “identity” as a URL. Clever, but people tend to identify themselves more with email addresses, I would’ve gone with that instead. Though I guess “mailto:brady@sldkjskldjflskjglkjelkjsldkjflskdjflsdkfjsldkfjalkjdfalskdjgalskdldk.schlorm” is a valid URL. Who knows.

And after that, of course, we then come to interoperability. If the only thing that ties you together throughout all these applications is your identity – well, that’s kinda weak. Not terribly so – if you think about how you use your applications in your day-to-day life, you probably don’t chain them together that much (unless you use Unix, but that’s a perverse case). The big one is your Mail application and the rest of your OS in order to open documents on it. Or your web browser and documents or files you’ve downloaded from that. If you’re on a Mac, your Mail client and your Calendar work well together – but they cheat, I don’t think they’re using any protocol or anything to talk to each other. Or if you use something to transfer files to Important Places (FTP, SFTP), it might be nice to open the files after you get them. But I don’t think this is as important as I thought it was. I’m not sure, we’ll have to see how much my Google usage intersects with my Regular Computer Usage, and see. For the first time in literally years, I’m running with shutdown, and it’s not bothering me in the slightest, so I think we may be off to a good start.

I will most definitely keep reporting in.