BBSSH Roadmap and Overview
by Marc on Feb.05, 2010, under other
Here’s a kind of loose roadmap for BBSSH’s planned development combined with a planned feature list and status. As it stands now, it is actually functional to the point where I’m using it on my own BB, but I’m more forgiving of certain issues than I’d expect anybody else to be.
Expect the first public OTA download beta in 2-3 weeks. If you’d like to play with it before then, I would appreciate any early feedback – just drop me a comment here and I’ll send you the link by this weekend (or later if you contact me later…) If you’re not able to provide feedback and bug reports, please don’t request an early build at this time.
MidpSSH Implemented Features
These features exist in MidpSSH and have been successfully re-implemented (or retained) already.
- Connection Management
- SSH
- Telnet
- HTTP proxy (should be functional but untested for now)
- All connection types (BIS, BES, Wifi)
- Rendering of bitmap font to session window based on BB screen objects
- Connection management and properties.
- BBSSH settings.
New Implemented Features
- New main screen intended to make it easy to connect immediately.
- Hybrid mode editing – a small overlay that appears every time you start to type when not using “direct typing” mode. This does not obscure the screen, however it can expand to include multiple lines as you type; and shift-enter will force a newline. Enter will submit the text along with the enter key.
- Moved most global settings to be session specific, including font.
- Multiple concurrent /active connections
- Copy existing connection properties into a new connection
- No more “low level connection” popup warning, since this is a signed app now.
- local key-pair: 90% (everything works except dumping the key to current connection
- Import session definitions via HTTP: 50% but also being enhanced significantly.
- Special Keys: Partial support. Most frequently used special keys are mapped to BB keys. This is temporary as the plan here is to have key mappings 100% customizable, though configured with reasonable defaults. For the early releases, it will likely be as follows:
- VolUp : Ctrl
- VolDn: Alt
- Wheel/trackbutton clikc: Esc
- SYM: Tab , or if typing into hybrid overlay it will display the symbol screen.
- Directional keys: wheel/trackbutton
- PageUp/PageDown: Shift+Up, Shift+Dn
- Home, End: Shift+Left, Shift+Right
Removed or Obsolete Features
- 90/270 screen rotation. This feature will still be present, but the supporting code for it is getting removed – my understanding is that this is “automatic” on Blackberry, as long as the application is aware of the changed dimensions and responds correctly. If I’m proven incorrect, obviously this will need to go back in completely.
- Full-screen edit window removed. (Replaced with “hybrid mode” expanding edit field overlay that does not obscure the screen by default)
- Menu-driven special keys- to be replaced with key-bindings and optional on-screen keypad.
- Special keys Enter and Shift are being removed – on the blackberry these are present on the keyboard.
- Modes being removed: Scroll, Cursor. Unlike the lowest-common-denominator that MidpSSH had to cater to, Blackberry devices have dedicated directional keys via the nav wheel/button. As such, by default these keys will always send movement commands to the server.
- local buffer scrolling may be implemented if practical and helpful
New Features – Future
- Key bindings: Map any blackberry key, key combination , or touch-screen gesture (pinch, swipe, tap, etc) to:
- Any special key (Alt, Ctrl, F1-12, Break, Pause, etc)
- Any macro you define
- Any key combination you want to send.
- Any BBSSH function such as displaying a symbols screen, extended keypad, screenshot, settings etc
- TrueType font instead of rendered bitmap. This is only supported in OS 5.0 and later, so it’s lower on the priority list.
- Initial Command: configure an initial command to be sent after connection is completed.
- (Possibly) Scripting support in macros using javascript – not sure if there’s a benefit to this or not though.
- Automatic detection of portrait/landscape mode (Storm, Storm2). Allow locking in so that it’s not constantly switching back and forth.
- Allow sending of session definitions to BB messenger contacts
- Copy and paste support.
- Public/private key pairs: key-pairs including support for password protected, importing from external source, and possibly sharing of private key between devices.
- Screen capture
- URL scraping from screen content
- “Special Key” onscreen keypad instead of menus
- Notification icon on the Home screen when an active SSH session requires attention
I think that covers the big stuff…
February 12th, 2010 on 1:28 pm
I’d be interested in helping you test… please let me know the jad d/l and i’ll get a testin!
February 12th, 2010 on 1:57 pm
Thanks Dan, I’ll email that over to you this weekend. I got started on the next major change (custom key bindings) so things are a bit broken
Tomorrow night should have things set right, though.
February 21st, 2010 on 10:38 pm
awesome! i’d also be very interested in helping. i use ssh clients like they’re going out of style. thank you so much for dev’ing this! let me know if you need an OTA host for the files too. i’d like to help out in any way possible
February 21st, 2010 on 11:14 pm
Thanks John, I’ve a new build coming out in a day or two — many additions, but the biggest one is the ability to import openssh format key-pairs from remote locations, including those that are passphrase-encrypted. This will let folks use keys that they have already established at remote servers. I’ll drop you a line once the new JAD is ready. What model BB(s) do you have?
As far as hosting, etc, I think we’re in good shape for now. Thanks for the offer though
February 22nd, 2010 on 8:47 am
Sounds good man. I’m currently running a Tour9630 (OS 5). Midpssh works on it, so I imagine yours should as well.
February 22nd, 2010 on 8:47 am
..my wife has a Curve 8330, if you need it tested on that device too.
February 23rd, 2010 on 12:22 pm
I think I have built for OS 4.6 and later – which I believe starts with the BB Bold (original and new) , Tour, Storm, and Storm2. I also plan to support 4.5 after the initial release. 4.5 should include 8800 and 8700 models.
I can try a build against 4.3 (8330) — I am curious as to how it would fare using the non-qwerty keyboard, I suspect not so well — but at present I don’t plan to specifically support pre-4.5 versions.
Currently I’ve got one major bug to resolve before I can post the updates (causes a hard “hang” of the app), but I expect that to be fixed for tonight.
February 23rd, 2010 on 12:47 pm
kick a**! ya screw 4.3(8330). i was just saying i can test, if needed. anyone using that old of a blackberry probably isn’t the best of tech savvy people that would even utilize an ssh client properly
February 27th, 2010 on 12:04 pm
Thanks Marc! I’m trying it out now (just received the e-mail you sent out to everyone)
March 5th, 2010 on 3:41 pm
Thanks for picking up the midpSSH project and porting it to BlackBerry!
The main issue I have with BBSSH at this time is connection timeouts. I have set `ClientAliveInterval 300` in sshd_config and this works flawlessly for Pader-SyncSSH, but not with BBSSH / midpSSH.
March 5th, 2010 on 4:31 pm
@Ron – I had actually into timeouts on one server, but using ClientAliveInterval of 300 did resolve it.
The odd thing, though, is that it was only on one server — my other servers use the default values in all cases (and did not set ClientAliveInterval), and I do not ever see a timeout. The servers are running the same OS install and SSHD version.
This makes me wonder if it could not be a firewall issue? On my working servers, I’m using a iptables-based NAT solution, while on the server that has this problem I’m using only NAT.
In either case, I will take a look into this and see if I can find anything more on the client side. Thanks for the feedback!
March 8th, 2010 on 7:38 am
Marc, do you mind if I post a link to your website telling people about BBSSH? It’ll be in CrackBerry’s 3rd party apps section.
March 8th, 2010 on 10:29 am
@John I think I’d like to hold off for another few days — there’s one more relatively major bug I want to get fixed (application freezes when using menu on the input window) first.
March 8th, 2010 on 10:44 am
Sounds good. Glad I asked first.. =P