Qwitter and its Future (As far As It Involves Me)

Posted by hllf on Sep 19, 2011 in Technology

To my readers who don’t use Qwitter or don’t even know what Qwitter is, please ignore this post, as it will be of no interest whatsoever. If you are a Qwitter user or have an interest in Qwitter, then please read on.

As many of you know, Q (@mongoose_q on Twitter), Qwitter’s creator, announced today, via the @qwitter_hg Twitter account, that he is closing shop on Qwitter. This has been discussed at length on Twitter, and I am not going to comment on the events that led up to this. I am, however, going to state how this affects me and how I view the future of Qwitter.

To start with, let me provide a little history. I have a strong computer science background. I have a BS in computer science and engineering, and an MS in computer science. I have worked both as a software developer, as well as in other capacities dealing with computers. About 8 years ago, I decided I no longer wished to work as a code monkey and discovered my true love lay in business. I changed career paths, got my MBA, and have not looked back.

Therefore when Q first approached me to work on Qwitter, I had not written a line of code for quite a few years. Furthermore, I had never seen nor written a single line of Python code, which is the language Qwitter is written in. It actually took a fair bit of convincing on Q’s part to get me to start developing, as I had then, and still have today, a job, wife, and a life completely outside Twitter and computers. I eventually decided to start developing for Qwitter because of three reasons and three reasons only:

1. Until Qwitter, I never used Twitter, so I liked the program.
2. It would be fun to do some coding again on the side, to once again work the computer science centers of my brain.
3. And the most important, it was way easier for me to build in the features I wanted myself, rather than having to ask or depend on someone else to do it.

After I started, I eventually became the developer who contributed the most code after Q. I did it because of the 3 reasons above. But I want to be clear, and this is something that is hard for a lot of users to understand: I never started developing for Qwitter because I wanted to make a difference in people’s lives; I’m very glad I was able to contribute in a small way in doing that, but I have always viewed that as a nice bonus.

So what’s my point with all this? Well, I started developing for Qwitter because of the three reasons I listed, and I will continue to do so as long as those 3 reasons remain in effect. The first two still do. As far as the third? Well, having switched to using a Mac as my primary desktop some months back, and given Macs have accessible Twitter clients available, I have been using Qwitter much less than I did in the past. Therefore, my desire for new features diminished, and that’s why I haven’t coded for Qwitter over the last few months. I also have increased responsibilities with my job and life in general, so that too made it difficult to find the time to code.

So where do I go from here? As far as I am concerned, nothing has changed. Q may or may not develop Qwitter anymore; that’s fine; he’s an adult and is capable of making decisions he feels are best for him. I have the source code for Qwitter and will continue to use it to suit my needs. When the time comes that I need Qwitter to do something more, I will simply write the code to do it myself, as I have always done. And if anyone wishes to take advantage of anything I write into Qwitter? That’s fine by me, licensing and other issues notwithstanding. When I switched to using a Mac, even though I didn’t write code for a while, I did not withdraw from the Qwitter development team, and I have no intention of doing so now. Does that mean I might write some code tomorrow? Maybe. Does it mean I may not write code for a year? Maybe. It just depends on how Qwitter can best serve me, and hopefully, as I continue to use it to serve me, it will also continue to serve others.


VoiceOver Keyboard Commands for iOS 4.1 and Later

Posted by hllf on Sep 9, 2010 in Technology

As many of you are already aware, Apple just released iOS 4.1 yesterday. One of the new features with this version is the ability to fully control both iPhone and VoiceOver (the built-in screen for blind users) from a Bluetooth keyboard connected to iPhone. This also applies to the iPod Touch, though not having used a Touch, I cannot speak directly to its capabilities.

There are numerous new commands one can issue from a Bluetooth keyboard to control the device, so much so that there is no longer any need to touch the device’s screen when using a keyboard. Apple unfortunately has very little documentation when it comes to accessibility (strange for a company who is so actively pursuing it); therefore, I wanted to put together this list of keyboard commands. I won’t go so far as to claim this is a comprehensive list, but I am pretty sure it covers almost everything, if not everything. It took me a long time to play around and figure out these commands, so I hope to save other blind users time by posting them here.

Update on March 9, 2011 (iOS 4.3)

Today Apple released iOS 4.3, and there are a couple of changes to the gestures. The list of commands below have been updated to reflect these changes.

A Few Important Notes

Before I go into the various keyboard commands, there are a few things I would like to mention. First, for Windows users, there are a couple noteworthy differences between a traditional PC keyboard and an Apple keyboard. Instead of the control, Windows, and alt modifiers, Apple devices use control, command, and option. Control maps to control, Windos maps to command, and alt maps to option.

Second, in the list of keyboard commands below, you will see references to a “VO” modifier. In the world of Apple, the “VO” (or VoiceOver) key is control + option. That is, if the keystroke says, for example, “VO + down arrow”, you perform this keystroke by holding down control and option, then pressing the down arrow.

Third, when listing keys, I use both a + (plus) and * (asterisk) connectors. A + indicates which modifiers (such as control, command, or option) are to be used. The * indicates the keys are to be pressed simultaneously. For example, “left arrow * right arrow” means you press the left and right arrow keys at the exact same time.

Fourth, if you find some of the keys with multiple modifiers do not seem to work with your Bluetooth keyboard, try using the other modifier. For example, my Bluetooth keyboard has control, command, and option keys to the left of the spacebar, but it also has an option key to the right of the spacebar. When performing any commands that require holding down all three modifiers, such as to increase the VoiceOver volume (VO + command + up arrow), I have to use the right option key; if I use the left option key, the command does not work. This is no doubt a limitation of my keyboard, not iOS 4.1, but it is good to keep it in mind.

Fifth, most of the text navigation commands that make use of the command key can also be performed by substituting the control key for the command key (many thanks to Esther for this tip). This is especially useful for some Windows-based Bluetooth keyboards.

Sixth, iOS 4.1 has something called quick nav. Quick nav, when turned on, allows for easier navigation between elements using the keyboard. To turn quick nav on and off, you hit the left and right arrows simultaneously.

Seventh, I have broken the following 57 keyboard commands into four categories: general navigation, VoiceOver controls, text navigation, and Unix-style text navigation. For each action, I have listed the corresponding keystroke when quick nav is on and when quick nav is off. Some commands can only be performed with quick nav either on or off, so the corresponding entry in the table states N/A if the command does not apply. I have also listed the corresponding VoiceOver screen gesture (where applicable) for reference and ease of transition.

Eighth, I would like to thank Esther for her excellent comment, with which I was able to expand this list to include even more commands. I am now quite certain this list is about as comprehensive as possible.

Finally, if you think I have missed any keystroke or have any questions, please leave a comment, and I will address it.

And now for the commands…

General Navigation

Action Keystroke (quick nav on) Keystroke (quick nav off) Equivalent Gesture
Toggle quick nav left arrow * right arrow left arrow * right arrow N/A
Previous element left arrow VO + left arrow flick left
Next element right arrow VO + right arrow flick right
Previous element by roter up arrow VO + up arrow flick up
Next element by roter down arrow VO + down arrow flick down
Previous roter setting up arrow * left arrow N/A rotate counterclockwise
Next roter setting up arrow * right arrow N/A rotate clockwise
Activate selected element up arrow * down arrow VO + spacebar double tap
Previous text field shift + tab shift + tab N/A
Next text field tab tab N/A
Read page from selected item VO + a VO + a 2 finger flick down
Read page from top VO + b VO + b 2 finger flick up
Move to first element control + up arrow N/A 4 finger tap near top of screen
Move to last element control + down arrow N/A 4 finger tap near bottom of screen
Scroll up 1 page option + up arrow N/A 3 finger flick down
Scroll down 1 page option + down arrow N/A 3 finger flick up
Scroll left 1 page option + left arrow N/A 3 finger flick right
Scroll right 1 page option + right arrow N/A 3 finger flick left
Move to status bar VO + m VO + m N/A
Activate back button escape escape 2 finger scrub
Activate home button VO + h VO + h N/A
Start/stop current action VO + – VO + – 2 finger double tap

VoiceOver Controls

Action Keystroke (quick nav on) Keystroke (quick nav off) Equivalent Gesture
Previous VO setting VO + command + left arrow VO + command + left arrow N/A
Next VO setting VO + command + right arrow VO + command + right arrow N/A
Increment selected VO setting VO + command + up arrow VO + command + up arrow N/A
Decrement selected VO setting VO + command + down arrow VO + command + down arrow N/A
Pause/resume speech control control 2 finger single tap
Toggle speech VO + s VO + s 3 finger double tap
Toggle screen curtain VO + shift + s VO + shift + s 3 finger triple tap
VoiceOver help VO + k VO + k N/A
Exit VoiceOver help escape escape N/A

Text Navigation

Action Keystroke (quick nav on) Keystroke (quick nav off) Equivalent Gesture
Previous character N/A left arrow N/A
Next character N/A right arrow N/A
Previous word N/A option + left arrow N/A
Next word N/A option + right arrow N/A
Previous line N/A up arrow N/A
Next line N/A down arrow N/A
Start of line N/A command + left arrow N/A
End of line N/A command + right arrow N/A
Top of document N/A command + up arrow N/A
End of document N/A command + down arrow N/A
Select text N/A shift + navigation keystroke N/A
Select all N/A command + a N/A
Cut N/A command + x N/A
Copy N/A command + c N/A
Paste N/A command + v N/A
Undo N/A command + z N/A
Redo N/A shift + command + z N/A
Previous int. keyboard N/A shift + command + spacebar N/A
Next int. keyboard N/A command + spacebar N/A

Unix-Style Text Navigation

Action Keystroke (quick nav on) Keystroke (quick nav off) Equivalent Gesture
Previous character N/A control + b N/A
Next character N/A control + f N/A
Start of line N/A control + a N/A
End of line N/A control + e N/A
Backspace N/A control + h N/A
Delete to end of line N/A control + k N/A
Return (new line) N/A control + m N/A


Internet: The Next Generation

Posted by hllf on Aug 21, 2009 in Technology

Well, if I had any doubts as to the coolness of FiOS, they were certainly wiped today. I got FiOS about two weeks ago, and I have enjoyed the service so far. The phone, well, is just a phone; nothing overly special. The television service is nice, their set-top boxes have a decent interface, and the HD selection is excellent. But the Internet, now that can blow you away.

Earlier today, I was uploading a fully compressed (we’re talking `gzip-9′ for you geeks out there) file from a server in my house to a DreamHost server, and I uploaded the 3.1 gigabyte file in 18 minutes and 17 seconds. That’s a blazing 24.2 megabits per second. And we’re talking upload speed here! My service is 25 megabits down, 15 megabits up. And I am getting 24.2 up…I couldn’t be more impressed. With my old business class cable modem through Time Warner, I was lucky to get a megabit per second upload speed.

I intend to do a more thorough review of FiOS later, but for now, let’s just say that I couldn’t be happier. I have never been a fan of Verizon in the past, but they sure did an amazing job with FiOS, and they blow AT&T’s U-verse right out of the water; it’s not even close.

Copyright © 2017 hllf All rights reserved.