Thursday, January 24, 2013

The Best Log Viewer Ever

This is what it looks like when I want to have a look through the logfile, to see what a user did on one of our machines one day:

Read the whole story about how it works on the Viaboxx Systems blog (and upvote on DZone!).

Monday, January 07, 2013

The Google Nexus 10: A Review of Sorts

At the end of last year I got a brand new Nexus 10. I also got a Nexus 7 a bit before that, which I'll mention at times for comparison.

I figured it would be a nice challenge to bring it on our Christmas holidays in Norway, and leave my laptop at home for a week. I got a bluetooth keyboard for it, and here are some of my thoughts on using it. Some of these are more Android focused than specific for the Nexus 10.

Disclaimer: This review comes out a bit negative, but don't think that I'm an Apple fanboy. Before acquiring the Nexi I already had a Samsung Galaxy S on which I'm running a rock-solid ICS custom rom. I love the features of Android, and I think all three gadgets are really awesome, all things considered.

Is it a good laptop replacement?

It's definitely not a laptop replacement. Granted, it has some great specs, but it still feels way more sluggish than my older little i3 laptop running Windows 7. That probably has more to do with the design of Android than the processing power though.

At first I wanted to write this entire blog post on the '10, but didn't quite get around to it. The Blogger Android app kinda sucks, as the first thing it did was to destroy all formatting in the draft blog post. Then I tried writing in Google Drive/Docs, but found out that on Android, the copy/paste buffer drops all formatting as well, so there's no way to publish a blog post written in Drive onto Blogger. Which is a bit of a Google fail, I have to say.
Android settings screen adapts layout for the large screen
It works great for reading and writing mail, although keyboard shortcuts are still somewhat lacking on Android. Twitter and Facebook works fine though, although the Facebook app fits really poorly on such a big screen, so you're better off using the website.
Lovely nice wide Spam folder view
Digging in to read a spam mail
This is again a nice thing with the Nexus 10, that even though it is a mobile device, you can use the desktop version of nearly all pages without much problems. The screen is small, but it feels annoyingly smaller than it actually is when surfing with Chrome. Using my mother's iPad 4, I felt that more things fit on the screen, for some reason.

Performance and stability

Furthermore, it has some right out performance "bugs", as scrolling around will lag here and there. And for reasons I can not fathom, some apps like Sketchbook perform a lot better on the smaller screened, but much weaker, baby brother Nexus 7. (Update: this has been resolved, either due to a Sketchbook update, or the Android 4.2.2 patch noted in the bottom of this post).

Chrome also has its fair share of crashes and performance issues. I found the fresh Firefox app to provide a finer experience on many sites, Facebook for instance.
Nice touch on the tabs in Firefox
And then occasionally, the '10 will simply reboot without any warning. This happens way more often than with the '7. I'd say this occurs about every other day. (Update: this seems to be occurring more seldom after upgrading to Android 4.2.2 as noted in the bottom of this post.)

Also a thing I just noticed the other day is that the bluetooth keyboard connection will go all stuttery, and eventually disconnect. Strangely enough, disabling WiFi and enabling it again seems to resolve the issue for a little while. I have no problems with the same keyboard on the '7. (Update: This has been fixed. See bottom of this post.)

A lot of these, and other issues as well seem to be bad software, especially since Android 4.2. So hopefully these things will get smoother over time.

Filming and photos

Having a baby around the house is a great excuse for getting this gadget. I think the camera is pretty good (although I have no clue of cameras in general), it feels like it makes good videos, and afterwards they are automatically uploaded to Google+ for sharing with family members. This is such an awesome feature, but not specific for the Nexus 10 though.

Games and movies

I've installed Asphalt 7 and GTA: Vice City, and they both run quite well. I haven't been gaming much, but it looks cool. The micro-HDMI connection also works well, so you can stream anything onto your TV.
Getting ready to play GTA Vice City from the Nexus 10 on the big screen.
It's possible to connect a Bluetooth PS3 controller, but I haven't tried that yet.
If you've got Netflix or anything streaming, I found it to be a really awesome experience. The '7 is a bit too small for two people to enjoy a movie in bed with the baby sleeping next to us, but the '10 really shines here. We use headsets, but the built-in speakers are pretty good too.
Playing Asphahlt 7 - difficult but looks nice
There are also plenty of UPnP apps for streaming stuff from your PC, using software like XMBC or PS3 Media Server (because the PS3 is a UPnP client, you can use other clients as well), combined with Android/client apps like Dice Player and BubbleUPnP).

Killer feature: Reading (especially comics)

Needless to say, with such a crisp high-res screen, the reading experience is awesome. The Nexus 7 is quite alright for reading books, but if you really want your money's worth of Comixology (or other digital comics readers), the Nexus is the most awesome thing I've seen.
Better than an actual comic. This is The Walking Dead on Comixology
Holding the Nexus upright, it fits perfectly.

Killer feature: Sketching

You've probably seen me pumping out some sketches recently (like in this Norwegian guest blog post), and most of these were drawn on the Nexus 10 with a stylus in the already mentioned Sketchbook app. It's not the same pressure sensitive and accurate drawing experience as you probably get on the Samsung Galaxy Note II, but good enough for sketching some fun drawings.
Sketching in SketchBook Pro


If you haven't got a big telly, but you want to watch movies with your significant other in the couch, you'll do well with one of these.
Great interactive ebooks for babies.
This is the Going to Bed Book.
However, in a normal household that already has a small laptop and a Nexus 7, I don't really see which use-case it's supposed to fit into. I can't bring it on the bus as a replacement for the '7, and if I grab it instead of my laptop for some couch-geeking, I quickly get annoyed once I'm done reading tweets and email.

If you do have older kids that need to watch Ice Age in the back of the car, it's again a sweet device, although battery life isn't as good as the iPad (usually runs out after 2-3 days of my normal use). Then again, the '7 is half the price and does a good enough job as a kid's toy, I reckon.

I have to say I'm quite disappointed in the quality of Android (4.1.2 at least). Devices like these shouldn't be having so many problems with Bluetooth and random reboots as they seem to be having all around. When taking the screenshots for this post, the Nexus froze and rebooted three times.

As a last point, the Nexus 10 is a flagship with a huge and growing user base, so it will probably be remain the love of many android hackers on XDA for years, long after it has been abandoned by Samsung. Just like the case is with my old Samsung Galaxy S: volunteers are still backporting the latest version of Android to run on it - and I'm sure the '10 will receive an even greater amount of community effort in the years to come.

Update Feb 16 2013: It seems the Android 4.2.2 upgrade that ticked in yesterday has resolved my problems with the bluetooth keyboard. It also hasn't crashed since, though I'll give it a bit more time before I say for sure.

Wednesday, January 02, 2013

The Company Video Repo

I was recently making a couple of screencasts at work, and they were of the kind that were magnitudes better at explaining that writing the stuff down, or explaining it orally.

I've also been thinking a lot about how companies like Github try to do all their work asynchronously. The prime example for this is the [idea - mockup/spike/code - pull request] cycle, aka. "every change is a pull request":

From idea to pull request
Now, I've always had a little distaste for electronic communication over things like issue trackers, chat and email when there are so much richer channels available, with face-to-face with whiteboard being the best.

But what if we could just enrich the async channels with this rich media?
A little while ago, I  tweeted that it would be cool to leave a video message or screencast behind with every commit. (Yes, a bit like lolcommits, except it's not just for fun.)

What if we had a repository of videos where it was super easy to upload these things, and reference them in our commit messages, wiki-articles, mails and other documentation/communication?
It's getting easier and easier these days. You can do Google+ Hangouts and record conversations. Instant upload of screencasts to YouTube (also private videos). I'm sure there are a whole bunch of enterprise products that also serve this purpose, but as the technology matures, it will become more mainstream for companies to have their own video vaults, just as they have their own company blog and wiki today.

We still need to make it easier. Buy software for capturing screencasts, get good webcams and microphones, etc.

At several companies I've worked, we would have regular all-hands meetings, where everyone would be gathered into one room and people would present current projects, tech-talks, etc. Needless to say, not everyone felt they had to be there, and especially not right there and then.

What if the speakers could just record it and stream it out on the go, or archive it so people could watch it at their own leisure? Makes sense to me. A lot of large companies like Google are doing this already, but a lot of smaller companies haven't even considered it.

Of course, anything which is async is one-way, and therefore loses the interaction and a lot of value in being so. Then again, you save a lot by not dragging people into meetings, or interrupting them for conversation.

Meetings and conversations still have their place. But we live in a world where being able to work remotely is becoming more and more important, not just for people who want to work from home, but also for companies that want to be able to scale across time-zones, and save the time and gas-money of their employees. Not to mention the environment.