Targus AKF001US Foldable Bluetooth Keyboard Review

I just got a Targus Universal Foldable Keyboard for Android Devices, Black (AKF001US) from Amazon (about $50), and thought I’d write a quick review.

First of all, a picture of the keyboard layout. I wasn’t able to find a single image showing the actual key layout, even on Targus’s site (WTF), so here it is:

Targus AKF100US Foldable Keyboard

I looked at a bunch of other folding Bluetooth keyboards, notably the Perixx PERIBOARD-805L and pretty much every terrible OEM/off-label option I could find, but dismissed most immediately due to bad layouts. Actually, there’s one folding keyboard that has a great layout except it’s, um, a full 104-key with number pad.

(The Periboard 805L looked promising, but the combination of shifted numbers (due to a mysteriously oversized ESC key), tiny Backspace, and more seriously, the arrow key in between the a tiny right shift key made me reconsider. There’s a review/unboxing vid online as well as plenty of useful reviews on Amazon.)

The Targus’ layout isn’t bad except for the ‘B’ key which is on the wrong side of the 6mm folding gap. This is mega annoying, although my fingers were able to physically jump the gap without too much trouble, when touch typing I pretty much have to type the key twice – once missing it, and a second time reaching for it. It’s a major bummer.

The keys themselves are smaller than full-sized. They are about 15mm, or ~80% regular size (there is a 2mm gap between keys). With a folding keyboard, I would have much rather traded overall size to get 90% or 95% keys. It’s a bit cramped but I’m able to touch type on this, however people with bigger hands probably won’t be able to. The keyboard/key feel is as expected, rather soft/spongy with limited travel, but it’s better than typing on an 8″ touchscreen.

There’s a button to press to unfold, but there’s no mechanism for locking it in a folded position. You won’t be able to use it without a flat surface for it. In fact, there’s a slight “springiness” so that it won’t stay open when held vertically, although this isn’t a problem when flat. There’s a power switch, which is fine, a light rechargeable battery, and a mini USB port for charging.

This is a Bluetooth 3.0 keyboard and I and despite being an “Android” keyboard, I had no problems pairing it with my iPad rMini. It’s responsive, and seems to work well. Typing on the keyboard will wake/unlock the device. Note, iOS 7 (I’m on 7.0.4) currently has some majorly bad and intense Bluetooth Keyboard issues (see discussion). Basically, some combination of turning on/off the keyboard will cause iOS to hard lock, requiring a Power+Home Button reboot. I personally experienced this once already.

Here’s how it looks with the iPad rMini (the keyboard comes with an external case that doubles as a stand, although it’s quite bulky, so if you already have a smart cover like I do, you’d probably just toss the case):

Targus AKF001US Foldable Keyboard

Besides the terrible locking up issue, it seems pretty well behaved. Just a few notes:

  • Most of the special keys work: Home functions as the home key, Search brings up spotlight, ‘Select Left’ and ‘Select Right’ navigate the cursor, the Menu key also works as a home key (I can triple-tap with the Menu key but not the Home key), and the volume/media keys seem to work as well
  • While most of the regular typing keys work (including CTRL-A, CTRL-E, Page Up/Dwn), iOS keyboard support isn’t fantastic. Most notably, you can’t use keyboard clipboard shortcuts, and it’s often impossible to switch focus, scrolling, or using select boxes without stabbing at the screen. Also, while it has an ALT key which can be used to easily type all the regular extended key shortcuts, I couldn’t find a CMD key equivalent, so you’ll miss out on some shortcuts.
  • There is a real-deal ESC key on the keyboard. Unfortunately I wasn’t able to map it w/ Applidium’s Vim, although testing it in iSSH, it did work on a terminal. Local editing of course sucks without easy access to the filesystem.
  • Right now, I’m not exactly sure if I’ll be keeping this keyboard. I think it may be the best folding keyboard available right now, and if I keep it it’ll be to try to take it apart and improve it (I’m almost sure that I can modify the case to remove the folding gap. And I think I can solve that and the locking issue with a tyvek band or something), but otherwise, man, that B key. That, and the just too small size are the real issues for me. Sometimes you have to wonder what the hell these people are thinking. Do they even use their products?

    One thing I haven’t seen is any Bluetooth Low Energy keyboards (they should be coming soon) which may or may not be relevant. Also, I would love to see more keyboards like Logitech’s K810/K811 that support pairing and 1-click switching between multiple devices.

    Oh, and here’s a size comparison of the keyboard folded up stacked with my iPad rMini and iPhone 5s for a size reference:

    Targus AKF001US Foldable Keyboard Size Comparison

    Targus AKF001US Foldable Keyboard Size Comparison

    UPDATE: I’ve found a portable foldable keyboard that is close to perfect:

    • Almost completely standard (US ANSI) keyboard layout (except for the up arrow key is between the right shift). Importantly, all the middle keys are regular sized and there is no space between the halves when folded out (via a very slick sliding mechanism); also, standard size 18mm wide keys
    • BT 3.0. Bluetooth HID w/ pinless pairing. Can be paired with up to 4 BT devices and searches in order of last found
    • Lockable when opened (also has an optional slideout stand)
    • Turns on when opened, turns off when closed
    • Uses two AAA batteries inserted on the top-right

    So what’s the catch? As far as I can tell, the keyboard, the Reudo RBK-3200BTi is only available in Japan. (I bought it from Amazon.co.jp for ¥6,581 (~$65). It’s made in China, but doing a search, I haven’t been able to find anyone selling the same design.

More on OS X Mavericks Power Usage

The “Energy Impact” tab in OS X 10.9 Mavericks’ Activity Monitor is exactly what I would’ve wanted when I was testing my new Macbook Air a few months ago. Although, one thing I’ve found is that the “Avg Energy Impact” (it averages over the past 8 hours) isn’t actually a very useful/stable number, at least for measuring something that can have a very variable/spiky usage, like browsing with lots of tabs.

I knew if it was in Activity Monitor though, that the raw data must be available, and after some fruitless online searching, I just dug around my system and ended up finding some cool stuff in /usr/bin. First is a script called power_usage.sh that dumps out a report of lots of technical details.

Here’s a small sample of the output:

**** Battery and backlight usage ****

Backlight level: 862 (range 0-1024)


**** Network activity ****

out: 1.00 packets/s, 94.29 bytes/s
in:  1.50 packets/s, 212.53 bytes/s


**** Disk activity ****

read: 0.00 ops/s 0.00 KBytes/s
write: 5.49 ops/s 32.70 KBytes/s

****  Interrupt distribution ****

CPU 0:
	Vector 0x46(SMC): 2.99 interrupts/sec
	Vector 0x49(MacBookAir6,1): 0.50 interrupts/sec
	Vector 0x92(IGPU): 107.76 interrupts/sec
	Vector 0x98(ARPT): 9.48 interrupts/sec
	Vector 0x9e(SSD0): 3.99 interrupts/sec
	Vector 0xdd(TMR): 691.96 interrupts/sec
	Vector 0xde(IPI): 8.98 interrupts/sec
CPU 1:
	Vector 0xdd(TMR): 6.49 interrupts/sec
	Vector 0xde(IPI): 3.99 interrupts/sec
CPU 2:
	Vector 0xdd(TMR): 16.46 interrupts/sec
	Vector 0xde(IPI): 8.98 interrupts/sec
CPU 3:
	Vector 0xdd(TMR): 8.48 interrupts/sec
	Vector 0xde(IPI): 2.49 interrupts/sec



**** Processor usage ****

Intel energy model derived package power (CPUs+GT+SA): 0.58W

LLC flushed residency: 93.2%

System Average frequency as fraction of nominal: 85.75% (1457.75 Mhz)
Package 0 C-state residency: 93.81% (C2: 13.45% C3: 0.07% C6: 0.00% C7: 80.29% C8: 0.00% C9: 0.00% C10: 0.00% )

Core 0 C-state residency: 96.16% (C3: 0.00% C6: 0.00% C7: 96.16% )

CPU 0 duty cycles/s: active/idle [< 16 us: 20.45/11.47] [< 32 us: 7.98/15.96] [< 64 us: 70.34/13.47] [< 128 us: 23.45/11.97] [< 256 us: 14.97/6.49] [< 512 us: 18.46/2.00] [< 1024 us: 4.99/4.49] [< 2048 us: 3.49/8.98] [< 4096 us: 2.00/12.97] [< 8192 us: 0.00/24.45] [< 16384 us: 0.00/26.94] [< 32768 us: 0.00/26.94] 
CPU Average frequency as fraction of nominal: 77.55% (1318.39 Mhz)

CPU 1 duty cycles/s: active/idle [< 16 us: 15.47/4.49] [< 32 us: 1.00/2.49] [< 64 us: 2.99/2.00] [< 128 us: 1.50/0.50] [< 256 us: 4.49/1.00] [< 512 us: 1.00/1.50] [< 1024 us: 1.00/1.50] [< 2048 us: 0.50/0.50] [< 4096 us: 0.00/0.50] [< 8192 us: 0.00/2.49] [< 16384 us: 0.00/2.99] [< 32768 us: 0.00/0.00] 
CPU Average frequency as fraction of nominal: 83.51% (1419.63 Mhz)

Core 1 C-state residency: 96.81% (C3: 0.01% C6: 0.00% C7: 96.81% )

CPU 2 duty cycles/s: active/idle [< 16 us: 68.35/4.49] [< 32 us: 8.98/5.49] [< 64 us: 5.49/17.96] [< 128 us: 6.49/12.97] [< 256 us: 7.98/13.47] [< 512 us: 2.99/7.48] [< 1024 us: 2.00/2.49] [< 2048 us: 1.00/2.49] [< 4096 us: 0.00/0.50] [< 8192 us: 0.50/7.98] [< 16384 us: 0.00/9.98] [< 32768 us: 0.50/7.98] 
CPU Average frequency as fraction of nominal: 94.05% (1598.86 Mhz)

CPU 3 duty cycles/s: active/idle [< 16 us: 9.48/1.50] [< 32 us: 2.00/2.49] [< 64 us: 0.50/2.00] [< 128 us: 3.99/0.00] [< 256 us: 1.00/1.50] [< 512 us: 1.50/0.50] [< 1024 us: 1.00/0.50] [< 2048 us: 0.00/0.00] [< 4096 us: 0.50/0.50] [< 8192 us: 0.50/0.00] [< 16384 us: 0.00/2.99] [< 32768 us: 0.00/1.50] 
CPU Average frequency as fraction of nominal: 96.73% (1644.44 Mhz)

**** GPU usage ****

GPU 0 name IntelIG
GPU 0 C-state residency: 99.73% (0.00%, 99.73%)
GPU 0 P-state residency: 1100MHz: 0.00%, 1050MHz: 0.00%, 1000MHz: 0.00%, 950MHz: 0.00%, 900MHz: 0.00%, 850MHz: 0.00%, 800MHz: 0.00%, 750MHz: 0.00%, 700MHz: 0.00%, 650MHz: 0.00%, 600MHz: 0.00%, 550MHz: 0.00%, 500MHz: 0.00%, 450MHz: 0.00%, 400MHz: 0.00%, 350MHz: 0.28%, 300MHz: 0.00%, 250MHz: 0.00%, 200MHz: 0.00%
GPU 0 average frequency as fraction of nominal (200.00Mhz): 0.49% (0.98Mhz)
GPU 0 GPU Busy 0.28%
GPU 0 FB Test Case 0.00%

Most of the best stuff is coming from /usr/bin/powermetrics. Here's the man page for powermetrics. There's a lot of options to go through.

I couldn't get some of the --hide flags to work, but here's a quick command to pull just the power score from some apps. Suffice to say, the possibilities for this in doing power comparison are quite tantalizing:

powermetrics -i 1000 --poweravg 1 | grep 'Average cumulatively decayed power score' -A 20

Example output:

--
**** Average cumulatively decayed power score ****

                          	15 sec    	1 min     	5 min     	15 min    	1 hr
[26367]systemstats         	   157.144	   43.3773	   15.5405	
[0   ]kernel_task         	   74.2694	   74.8748	   47.8391	
[-1  ]DEAD_TASKS          	   48.8577	   24.5274	   6.72759	
[123 ]WindowServer        	   30.0174	   35.1636	   21.6378	
[388 ]iTerm               	   21.9219	   20.0339	   12.7875	
[26917]Airmail             	   18.7339	   19.6338	   9.45401	
[41829]Google Chrome He    	   10.6604	   7.92617	   4.61903	
[42323]com.apple.WebKit    	   10.1828	   17.2152	    13.345	
[41206]Safari              	    9.1336	   16.8081	   10.7422	
[42352]Activity Monitor    	   7.60748	    6.4298	   3.80237	
[96  ]hidd                	      7.59	   7.70318	     4.438	
[42612]powermetrics        	   4.74147	   4.81903	   3.23933	
[37370]SystemUIServer      	   4.36079	   4.44251	   3.02667	
[159 ]sysmond             	   3.80035	   2.93568	   1.85484	
[442 ]Moom                	   3.53523	   2.59021	   1.21046	
[389 ]Dock                	   3.43152	   2.84213	   1.58266	

I also made another cool discovery for power measurement. Originally I first tried to see if Apple's top had the power information, but sadly, it appeared like it didn't. Well, it turns out that (and the top man page) was wrong - my 11" MBA's screen simply wasn't big enough (even maximized) to show the POWER column, opening top open on my bigger desktop screen showed that this wasn't the case!

So here's an equivalent "power" command for top:

top -stats pid,command,power -o power -l 0

And the output looks something like:

PID    COMMAND          POWER
123    WindowServer     31.1
388    iTerm            25.7
42689  top              10.5
96     hidd             2.9
26917  Airmail          1.4
37370  SystemUIServer   0.4
45     fseventsd        0.3
85     mds              0.1
42323  com.apple.WebKit 0.1
31927- Dropbox          0.1
31997  WebKitPluginHost 0.1
453-   Google Drive     0.1

It'd be pretty cool to make an open source power measuring/graphing framework combined w/ a browser automation test suite. I might get to it one day, but maybe someone w/ some more free time might feel like doing it sooner? Just putting it out there.

Making Safari Usable

One of the things that Activity Monitor’s “Energy Impact” fields have made obvious is that Safari 7.0 is significantly more energy efficient than both Chrome 30.0 or Firefox 27a1.

After regular usage, Safari has an Average Energy Impact of about 4-5 5-6 vs Chrome and Firefox hovering at about 8-9. For comparison: Airmail averages about 3, Spotlight is about 2, and Dropbox 0.75. Playing a 720p H.264 MOV in Quicktime Player is about a 9, and playing a 720 H.264 MKV in VLC is 20+.

Recently I’ve been migrating away from Chrome and back to Firefox, as the former has gotten more sluggish, and the latter has gotten a lot faster (Chrome is still my preferred browser for dev and the only option for SSBs), which actually has left me in a good place to try switching to Safari, as I’ve pared down my “necessary” plugins:

  • 1Password 4 – 1Password 4 is a huge improvement and the new way it works w/ browsers (as a simple frontend that interacts w/ a menubar app) makes all the browsers extensions work equally well (previously, the Firefox plugin would constantly freak out). With all the recent hacks, having unique passwords is more important than ever and I can wholeheartedly recommend 1Password.
  • Adblock – Safari only supports Adblock, not Adblock Plus but they both work well enough
  • Lazarus – if you’ve ever lost something you typed into a text box due to a browser close/crash you’ll want this. Available for Chrome, Firefox, and Safari
  • Evernote Clipper – I use Evernote for storing everything. Chrome’s extension is newer/fancier (and has some unique features) while Safari and Firefox are both an older version (but serviceable). I sort of like how the older version works so I’m not really complaining, although it is a bit curious.
  • Pocket – I’ve been using ReadItLater/Pocket for years. All the plugins add a “save to pocket” to the context menu, which is pretty much all I want. The Chrome version is a bit nicer since it has a colored icon in the context menu that actually makes it noticeably easier to us.

I also am using QuickStyle for Safari, which is like Stylish for Firefox or Stylebot for Chrome, but that’s more of a nice-to-have.

The most annoying thing I’ve found so far with using Safari, and probably the biggest reason I’ve never stuck with it, is that CMD 1-9 are mapped to the bookmarks bar and not switching tabs. It’s confounding (especially as I hide and don’t even use the bookmarks bar).

The solution for this is a SIMBL plugin called SafariTabSwitching – there is an installer on the Github page so installing is a snap, and the latest version is updated for Mavericks and is working great.

There are still a couple other niggles (only a single tab unclose), tab-close focusing is different, both Chrome and Firefox have a very useful contextual status bar (ie, when you mouseover a link, the URL shows up in the bottom left), so we’ll have to see if switching to Safari gives enough battery life to make it worth it. I’ll probably be updating this in a week or two w/ how it turns out.

New Server

After just under 4 years on the same machine (827 days since last reboot!), my old server was finally being scheduled to be end-of-lifed by my ISP (NetDepot/GNAX who have been phenomenal – I’ve been hosting w/ them since moving off EV1/ThePlanet back in 2007).

This machine has definitely been lapped a few times – it’s an old C2Q Q9660 w/ 8GB of RAM with a 500GB boot drive and a 2TB storage drive, but it’s been solid, as has the network and support.

If you’re seeing this message that means that the DNS change should have propagated (hooray!). While NetDepot graciously offered to migrate me to a new machine for the same rate plan (a very reasonable $120/mo), I went ahead and have decided to dip my toes into the waters w/ OVH running one of their SP1 servers.

I am now paying $80/mo for a 4Q E3-1245v2 w/ 32GB RAM and 2x2TB SW RAID1 storage w/ a 200Mbps connection. The OVH NA data center is located in Quebec, Canada (OVH is a French ISP and their other 2 data centers are located in France) and seems pretty fast, and so far, service has been… well, responsive, if not entirely helpful (despite being one of the world’s largest ISPs (#4 right now), they have some weird gaps like no recurring billing).

Guess we’ll see how this goes.

OVH Notes:

  • Their servers come prerooted – you should comment/mv the /root/.ssh/authorized_keys2 file if that seems icky (documentation)
  • There’s also an rtm script that runs regularly via /etc/crontab, but that seems pretty harmless/useful.
  • Server setup via vague new server setup recipe – one day I’ll sit down and learn Ansible

Apple’s A7

I don’t spend as much time keeping track of consumer tech these days, but I stumbled on an interesting article on Apple’s new A7 that got me to dig a bit more:

While in the short-term there have been more last-minute leaks from components suppliers, and it may be a losing battle, it looks like Apple is attacking strategic leaks by increased vertical integration: building/buying a fab may only be the first step (keeping in minde that Apple has over $100B in offshore cash).

Plastic cases are one thing, but it’ll be interesting to see how secret Apple can keep its AppleTV and iWatch developments. I think it’s fair to expect the former may end up attacking the living room/XBone a lot more directly than past efforts, and the latter will have a pretty big personal sensing/informatics component. These are both things that are pretty untapped markets for Apple that would benefit from a 360 ecosystem.

205-217

The Amash-Conyers amendment to defund the NSA’s domestic surveillance programs failed to pass the House today. The White House made a statement prior to the vote that included this amazing sentiment:

This blunt approach is not the product of an informed, open, or deliberative process.

How whoever wrote that managed to do so without choking on the cognitive dissonance, I don’t know.

On the bright side, we’ll soon have a full record of where all our congressmen stand when confronted with, well, the worst attack of the Republic and the Constitution that I can think of in my lifetime.

James Madison is hailed as the “Father of the Constitution”, and was a key figure both in drafting the Constitution and the Bill of Rights. Sometimes he gets quoted on T-shirts. A prescient quote of his:

If Tyranny and Oppression come to this land, it will be in the guise of fighting a foreign enemy.

Senator Ron Wyden (D-OR), one of the few Senators on the Senate Intelligence Committee that has been privy to some of these programs (and one of the even fewer, Mark Udall (D-CO) is the only one I can think of, who seems to give a shit) recently also quoted Madison. His remarks on domestic surveillance and the PATRIOT Act are well worth the watch/listen. He ends with this:

At this point in the speech I would usually conclude with the quote from Ben Franklin about giving up liberty for security and not deserving either, but I thought a different founding father might be more fitting today. James Madison, the father of our constitution, said that the the accumulation of executive, judicial and legislative powers into the hands of any faction is the very definition of tyranny. He then went on to assure the nation that the Constitution protected us from that fate. So, my question to you is: by allowing the executive to secretly follow a secret interpretation of the law under the supervision of a secret, non-adversarial court and occasional secret congressional hearings, how close are we coming to James Madison’s “very definition of tyranny”? I believe we are allowing our country to drift a lot closer than we should, and if we don’t take this opportunity to change course now, we will all live to regret it.

Unfortunately, it seems too few perceive that secret laws, with secret interpretations by secret courts, enforced secretly, and kept secret with extreme prejudice coupled with an unchecked, massively increased/invasive security apparatus and unbounded total surveillance (saved forever) might be an existential threat to a free society.

Oh well.

UPDATE: Votes here:

Catching Up, Braindump

I’ve been working on a few longish posts, but after taking a week or so off in Costa Rica, I’m now back at work with new deadlines looming and realizing that I won’t be getting around to finishing them anytime soon. Some of them really deserve some more thought anyway, but I did want to at the very least want to do a bit of a braindump.

Anyone following my Twitter feed knows that the NSA surveillance news has had much of my attention since it broke. A month later, I still haven’t quite figured out the proper response, except that in my mind, the leak, our response, and its implications (especially if allowed to continued) is one of the more significant turning points for our society. At least its forced me to consider technological progress through a very different lens. In the meantime, I’ve been keeping what I’m calling a “worry wall” tracking news and developments on the topic. It’s a Hackpad wiki, and I’d welcome contributions: stopspying.hackpad.com

It’s quite possible that there’s no sensible course of action, but it deserves some thinking.

I’ve been somewhat keeping up w/ developments in Turkey and Egypt. This video of a 12yo in Egypt that’s been making its way around is worth a watch:

Doug Englebart died last week. A few years ago, I had the privilege to attend one of his lectures, and while my writeup of the event focused on a critique, it was framed within the large shadow that Engelbart’s seminal works cast. While I did not know him personally, it’d be fair to say that Engelbart’s work and thinking might have been the most influential/impactful not just of my field of computing (the part involving people communicating and thinking together), but also on my own work and thinking, both directly and indirectly.

It’s not every day that one of your intellectual heroes/forebearers passes, and I wish I had something better/more to write about it, but the words escape me.

Like in the Snowden case before it, I saw the AAR 214 crash news break on Twitter. A couple comments related to that caught my eye. On the actual accident itself, The Verge has done a surprisingly good job summarizing.

And that’s it for now… I’ll be headed to YxYY this weekend and while I’m not looking forward to the 100+ degree heat, will be looking forward to catching up with some old friends.

Hacking the Ouya

I’ve made a public Hackpad (I like it and have been using it more and more, although not without reservations) to gather some notes/docs on getting Linux to run on Ouya.

I’m a fan and hope they succeed as an additional channel for indie gaming, but the short of it is that despite some previous claims/hopes, the Ouya is completely hacker unfriendly (bootloader locked, GPL-violating lack of Linux kernel sources, no one at the company answering their emails).

If you’re looking for anything besides playing Android games, you should look elsewhere (there are many alternatives).

So it’s off to the land of misfit gadgets for mine (aka the pile on my workbench) or to gather dust w/ my XBox, but was fun to d/l Gordon’s Beast Boxing Turbo demo and play it on the 70″ screen in the office.

View Ouya Hacking on Hackpad.