Bitcasa: First Impressions

Bitcasa

I got my invite for the Bitcasa beta last week but only got around to installing it yesterday. I’ve only used it sparingly thus far. If you are in a hurry, here’s the TL;DR version:

  • Users might find the “cloudify” model confusing
  • Built using osxfuse (not to be confused with MacFUSE) and Qt
  • Infinite storage sounds too good to be true. What’s the catch?
  • Building trust with users will take time

Cloudification and Confusion

Here’s Bitcasa on what cloudify does:

When a folder is Cloudified, a corresponding virtual folder is created on the Bitcasa server and the contents of your local folder are copied up to the server. When Connected to the Bitcasa server, any changes or additions to the folder will live on the server. When not Connected to the Bitcasa server, any changes or addition to the folder will live locally.

Just think about that for a second. The “cloudify” model sounds great in principle, but it does add a lot of complexity in terms of how users interact with the system. For instance, when I’m offline and make changes to one of my cloudified folders, that change happens presumably locally. I would assume that when I come back online, these changes are synced back to Bitcasa ala Dropbox. But what if I accidentally disconnect a folder, make some changes and then reconnect — per the FAQ, the changes made locally won’t be synced.

The consumer cloud storage is fairly mature right now and one can learn a lot by looking at how people respond to other systems. This thread on Quora is particularly insightful: again and again, simplicity comes up as one of the key reasons behind Dropbox’s success.

My prediction is that Bitcasa’s cloudify feature will be leveraged primarily by power users and the rest would end up using the default Bitcasa folder, Dropbox style.

Nuts and Bolts

Bitcasa seems to be built primarily using Qt. This isn’t a surprise: Qt is a mature, open source and cross-platform library.

$ otool -L Bitcasa
Bitcasa:
 /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
 /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
 /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 44.0.0)
 @executable_path/../Frameworks/libmacfuse_i64.2.dylib (compatibility version 10.0.0, current version 2.0.0)
 /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 44.0.0)
 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 53.0.0)
 @executable_path/../Frameworks/QtWebKit.framework/Versions/4/QtWebKit (compatibility version 4.7.0, current version 4.7.4)
 @executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml (compatibility version 4.7.0, current version 4.7.4)
 @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.4)
 @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.7.0, current version 4.7.4)
 @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.4)
 /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
 /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1105.0.0)

$ mount
Sample Videos on /Users/diwaker/Bitcasa/Sample Videos (osxfusefs, nodev, nosuid, synchronous, mounted by diwaker)
TryBitcasa on /Users/diwaker/TryBitcasa (osxfusefs, nodev, nosuid, synchronous, mounted by diwaker)
TryBitcasaDedup on /Users/diwaker/TryBitcasaDedup (osxfusefs, nodev, nosuid, synchronous, mounted by diwaker)

Note further that Bitcasa represents “connected” folders as mount points over the existing folders. This is why when you disconnect a folder and make changes, they won’t propagate to Bitcasa’s copy of that folder. They are using osxfuse which implies that Bitcasa is intercepting file system calls; this is in contrast to Dropbox-like systems that detect changes to the local filesystem asynchronously. I haven’t compared fine-grained read/write performance just yet.

Here’s a snapshot of the Bitcasa Folders UI:

Bitcasa also does some deduplication. Uploading 100MB of mostly random data took around 4 minutes on a pretty fat pipe which isnt’ bad at all. Copying that data back out took just as long, if not longer. A copy of the same folder took less than 10 seconds to cloudify!

Security

Much has been said about Bitcasa’s security. However, most of the articles are concerned with a specific dimension of security: encryption.

A detailed discussion of Bitcasa’s security in general and encryption, in particular, deserves a post of its own. For now, suffice to say that even after several years of user experience, Dropbox still hit some pretty nasty security snafus in 2011. Like a lot of you, I’m very concerned about security, especially with a service that is offering me infinite storage for free! It takes time to build trust with your users — there’s no short cut.

Overall, Bitcasa is definitely interesting. Dropbox was almost beginning to monopolize the consumer cloud storage market, so some good competition will hopefully benefit the end users in the long run.

The 2010 Prius: One Year Later

We bought our 2010 Prius last year, just around 4th of July. It is the Prius Three line with moonroof + solar ventilation add-on package. I thought I’d share our experience with the car in the past year or so.

(BTW, remember the 2009 Prius recalls? Notwithstanding the short term public memory, I think most of those incidents were blown way out of proportion)

2010 Prius

The Good

  • Great mileage: It has consistently been giving around 48mph, city or freeway driving.
  • Feel good factor: You can debate endlessly whether hybrids are truly green over their lifetime taking into account all factors including manufacturing cost etc, but no one take the “I feel good about this” feeling away from me when I drive the Prius.
  • There are some small niceties like the “hill brake assist
  • Spacious: The interiors have generous legroom both in the back and in the front. The hatchback style trunk can really take in a lot — I haven’t had the need to buy a bike rack yet because we can easily fit our bike in there!
  • Remote A/C and solar powered ventilation is nice on a hot day. But I must admit, I haven’t really used the remote A/C that much. More on this later.
  • Clever UI: Note that I’m not saying the UI is great (or even good). I do believe though, that the Prius UI has slow but steady impact on driving habits. By leveraging subtle signals (like when you floor the pedal, the indicator goes into the “red zone”), the UI turns driving at a safe speed into a game/challenge/curiosity. I’m trying to dig up some evidence on this, let me know if you know of a study.
  • Good incentives: When we bought our Prius, Toyota was giving two years free maintenance and a 0% APR financing for 3 years on all models. Not unusual, but certainly welcome.
  • Built well: (or we’ve just been lucky) Either way, the car hasn’t had any issues whatsoever in the past year and I’ve only taken it to the dealership for routine maintenance.

The Bad

  • Solar panel is frivolous: As much as I hate to admit this, the panel is largely useless and a mostly unnecessary expense. Yes, the solar powered ventilation does help keep the car cool on hot days and yes, the remote A/C is a nice trick to show your friends. I’m sure people in Texas would have more use of them than people in San Francisco, but then again, who buys hybrids in Texas? Overall, I think it’s a lost opportunity for Toyota. If I do have a solar panel, why not use it to help power the A/C at all times (right now the panel only gets used when the car is off and has been standing in the sun for at least 30 minutes).
  • Some of the interior is plasticky: This is not a fair complaint — you get what you pay for. The Prius is not a luxury vehicle.
  • Voice commands are mostly useless: The navigation system is hands-free enabled and capable of accepting voice commands. However, the system is unusable in practice. I obviously don’t expect a Siri but consider this: to input an address takes upwards of 10 voice commands, each interceded with a pause and beep. Arghh!
  • Not for those who enjoy driving: The Prius is a great car but it is not a sports car. Don’t expect a fast, responsive machine.

The Ugly

  • Ancient navigation system: Both the hardware and software of the navigation system are pre-historic. Don’t believe me? Consider this: I sat in a 2001 Lexus and it had pretty  much the exact same navigation system! It’s not funny, it is outrageous. I can’t express how mad this makes me. Working with the nav is an extremely frustrating and slow process — the UI is slow and clunky; I need to press really hard on the screen for it to register the “touch”; Toyota should be ashamed of the refresh rates on these devices. If I’m spending > 25K on my car, the least Toyota can do is spend $500 on a decent display and processor!! I’m not alone in thinking that the car information systems market is ripe for disruption: see #6 on Photomatt’s list.
  • Most annoying “safety” feature of all time: So the 2010 Prius has this safety feature that disables some navigation controls while car is in motion. Now, I can imagine how someone at Toyota decided this was a good idea — we already have laws to prevent people from texting while driving, why let them fiddle with their nav? Right? WRONG, when there’s someone in the passenger seat next to me. Picture this: my wife and I are zipping down on the freeway and want to swing by a gas station to fill up the tank. The nav system is entirely capable of guiding us to the nearest gas station, but no sirree, we can’t even enter the address without having to pull over first. I can’t describe how retarded this is — while I’m focused on the road, there’s no reason why the front seat passenger shouldn’t be able to operate the nav (they typically end up doing navigation, you know). But what is worse is that this “feature” is not even implemented consistently. For example, while I can’t type in an address, I can still use the “Previous destinations”. While I can’t scroll the song list, I can still press the up/down buttons on the touch screen. Just thinking about it makes me mad. MAD! Here’s a suggestion Toyota: you already know when there’s a passenger on board (you can warn me just fine about the passenger not putting on seat belts) — just enable this “safety feature” if you must ONLY WHEN THE DRIVER IS ALONE.

So there you go. In summary, the Prius is still one of the best hybrids on the market but Toyota really needs to fix their navigation system.

I’ll talk about the future of hybrids and technology disruption in cars in another post.

Mac Tip: Get wifi password from another (connected) Mac

Here’s the situation: say you are at a friend’s place and as all responsible hosts, they have a password protected wifi network. Your friend is busy (or unavailable) so you can’t ask her for the password. Of course, you are known to not give up easily. You look around and realize: aha! someone else over there on the couch is busy with their laptop, so they must know the password. Unfortunately, they don’t. But the password must be somewhere on their laptop, since they are connected after all. So how do you find it?

OK, that probably sounds contrived. But the truth is that I did have the need to extract the wifi password from my wife’s laptop earlier today and thought I’d share the (pretty simple) process.

Step one: open keychain access

Step two: search for the network name (SSID)

Step three: check ‘Show password’ (you may need to enter your password first since this required Administrator privileges).

Voila!

Review of iPhone apps for Indian news

I like and use the iPhone apps for CNN, NYT and NPR news, but none of them are any good for staying up-to-date with happenings in India. So one day, out of curiosity, I started looking around for apps specifically for Indian news. Here’s what I found.

Summary: the NDTV app is probably one of the best free apps. I didn’t consider paid apps.

First, the usual suspects:

Times of India: The ToI app’s UI is functional, but otherwise not remarkable at a first glance. In true ToI tradition, the “Entertainment” section is feature prominently on the home page, just under top news. Of course, readers of ToI know that “Entertainment” and “Photos” are just euphemisms for soft porn — ToI happily parlays all kinds of NSFW material under the guise of “news”. I’m really curious to know how much of their app traffic (indeed, their website traffic) goes to the entertainment section.

The ToI App

Thankfully, buried under the “Settings”, the app allows reordering the various sections. You can also optionally specify a home city. I haven’t really used the Video section of the app, so can’t comment on it.

Overall, the app is not bad, but it can’t compensate for ToI’s reporting.

NDTV: The NDTV app feels only slightly more polished than the ToI app; structurally they’re quite similar and most differences are cosmetic. Unlike ToI though, NDTV’s Photos section is closer to what I’d expect on a news app (there’s still a heavy entertainment bias, of course).

But perhaps the most killer aspect of the NDTV app is that you can watch various channels of the NDTV group live!!

The NDTV App

The only downside of the NDTV app is that it shows a lot more ads than the other apps I looked at.

Hindustan Times: the HT app is probably not being actively developed — it still has a CWG section!! Other differentiators are a dedicated “Blogs” section. Compared to ToI and NDTV, this app offers basically no customization, no videos. The content is not as rich or fresh as the other apps.

The HT App

There were a lot of other news apps but none of them felt credible. The IBN Live app looked interesting but it seems to focus mostly on live TV and not news articles. For now, I’m sticking with the NDTV app.

What apps do you use to get your does of Indian news?

 

The Bay Area doesn’t deserve Caltrain

It deserves something much, much better.

I live in San Francisco and work in downtown Mountain View. I don’t enjoy driving too much and so, I’m grateful that I’m able to take public transportation to work. A smaller commute would be nice, but it is not bad at all.

That is, until Caltrain fails. Again. And again. Note that I’m not blaming Caltrain for the fatalities, but I am complaining about how they respond to such events. It took me almost 3 hours to get home last night. I went though something similar a few months ago. Unfortunately, this is only one of the problems with Caltrain.

We pay our taxes; I pay more than enough for the monthly pass. We deserve something better. Here are just a few things that are “broken” (notwithstanding Caltrain’s well publicized financial troubles)

  • Ancient hardware: this is the Silicon Valley; the so-called center of the tech universe; the birth place of many a great technology companies. Our public transportation should be leading the rest of the country and indeed the world. Instead, we are stuck with decades old diesel-powered engines and several outdated coaches. On more than one occasion, my ride was interrupted due to “mechanical failures” and one evening, the train simply shut down at Menlo Park and we had to be transferred to the next train. BART has its share of problems, but it beats Caltrain any day — it goes under the damn Bay!! Plans for high-speed rail and electrification remain just that — plans.
  • Ancient protocol: post any fatality, Caltrain seems like a headless chicken. As it is, there’s no official way to track the trains or get status updates. Riders have graciously setup a Twitter feed for posting updates. When an accident happens, there’s no authoritative communication channel — no number to call, no real-time updates. Hell, even most officials present on site have no clue what is going on! There’s a PA system on some of the stations but it is largely useless. What I expect? The ability to track the location of each train on a map, in real-time; a social media strategy that is able to communicate in a timely and effective manner; a customer education strategy so we know what to expect and what to do when a fatality happen (and they do seem to happen with eery regularity).
  • Ancient software: Caltrain remains a “proof of payment” system — that is, unlike most well-functioning public transit systems around the world, Caltrain requires travelers to purchase a ticket and carry a proof of purchase for the duration of the journey. While this is a feasible approach (the Indian railways does something similar), it starts breaking down quickly for a metropolitan area where most people won’t be riding for more than 30 minutes. It is harder to keep track of payments; it is error prone in that people may forget to buy tickets (so Caltrain loses money); it introduces more humans in the equation (conductors etc). To make things worse, Caltrain doesn’t sell tickets onboard. Until recently, this proof-of-payment happened to be an actual piece of paper. After several millions of dollars and some failed pilots, Caltrain finally transitioned to the Clipper Card a few months ago.

You’d imagine that with the Clipper Card in place, things would be smooth. Well they are smoother, but the system remains extremely un-user friendly. It is as-if they intend to confuse riders. For instance, you are supposed to tag-on before getting on the train and tag-off, except if you have a monthly pass, in which case you are supposed to tag-on and tag-off exactly once, that too, on your first ride of the month. That’s not all — even though I have a monthly pass (so I’ve already paid $170+ on the card), I’m still required to maintain a $1.25 cash balance on the card at all times.

Imagine you are a visiter to San Francisco. How confusing would all this seem to you? Sure there’s rationale for everything, but I’m sure if you asked a couple of smart people to think about this for a few days, they could come up with a better solution.

Arghhhh!