Table of Content
Why does this Site exist?
Shortcutworld.com started out as a hobby many years ago. Initially it was pretty much a single static page with my favorite Firefox Shortcuts. Over the years I kept tweaking, adding and improving it slowly. Today, it is a custom-build, full-blown Shortcut Resource Page. Goal is to make this the world's largest resource for Keyboard Shortcuts, allowing millions of people to save billions of hours by increasing productivity.
How to Contribute?
The site was built around the idea of collaboration. In order to build the largest shortcut reference database, we need a team of dedicated people who help to standardize various sources, individuals' list of shortcuts, and standard application help files. Anybody can add and edit pages after registering as 'Volunteer Contributor'. The project is also looking for paid contributors. Please find more under 'Join the Team' under 'My Account' after you registered as regular user.
How to Add Pages?
There are various ways to add; this is the short, and most efficient way:
- Pick the Application you want to create; use the search function to ensure it is not already there.
- Don't copy shortcut lists from others; consider what constitutes Fair Use. Please create original content and list any primary or secondary sources used.
- The most efficient way is to create your Page on a Spreadsheet first (e.g. Excel). Use two columns: First for Keystroke, second for Description. Categorize Shortcuts.
- Do it right: A typical Application Shortcut Page may take anywhere from 15 minutes up to 2 hours to research, test keystrokes, compile list, create categories. Compiling the Keystrokes for Excel 2013 page took me half a day and had the side-effect that I dramatically improved my shortcut skills there. The better quality the page, the more people will like it, the more traffic you will generate and may participate from. Copying your list into ShortcutWorld from your Spreadsheet takes a few minutes.
- Click on 'Add Page' on the left navigation pane, or on the top context menu on each shortcut page.
- Once in the HTML Editor, copy and paste one category at a time: (a) Copy and paste Category Title, (b) In your Spreadsheet, mark multiple lines with the two columns Keystroke and Description and copy to clipboard. In Html Editor, move cursor onto the first Keystroke field and paste. The Editor will automatically add all lines and can add hundreds of lines at a time. In the background, all Tab and line-break characters are detected, split up, and content is added line by line. It also works with a Text Editor as long as there is one Tab between Keystrokes and Description, and one Keystroke/Description per line. The process should take no longer than a few minutes
- Click on 'Add Category' and repeat the previous step for each Category you want to create.
- For complex work, you can create a copy of the work on your local machine. Click on 'Capture Edits and Switch to XML/Text Mode' and Editor which shows the raw data created. Copy and paste that text to your local machine as a backup. Paste it back into the XML editor at a later point, and click on 'Html Editor'; voila, your work is restored. This is also helpful if you want to do a quick find and replace across multiple keystrokes or descriptions. No, there is no undo button, and this is the best option available.
- Click on 'Format Keys'. The Editor has a JQuery Regular Expression Engine (JREE) trying to detect common keystrokes. If you for example provide a keystroke as ctrl+a, it will transform to [Ctrl]+[A]. The square brackets are important as they are adding the format in the display. JREE also tries to fix capitalization, and harmonize typical expressions (up arrow will be transformed to [Arrow Up] etc.). You can run the 'Format Keys' at the end or multiple times in between editing.
- Under 'More', you can add Sub-Categories to Categories, or promote Sub-Categories to Categories. If you promote a Category, it will remove a Main Category and list all Keystrokes as a flat list. You can also add Header and Footer to each category, an intro to the Shortcut Page, and the Sources which will be listed at the end.
- Click on 'Save' and a Draft will be created (or updated) and available under 'My Shortcuts'. Continue editing, or click on 'Submit for Approval' if this is the first page you upload, or click on 'Publish' for subsequent pages after your first page was approved.
- Watch the traffic coming in under 'My Shortcuts' and 'My Pages Statistics'. Shortcutworld.com has been around for a long time and follows good content practices. If the quality of your page is good, it often ranks in the Top 10 Google Results within a few days for the term of the Application Name + 'Shortcuts'.
There is more help available on editing and adding shortcuts via the 'Help' button on the Editor.
How safe is this Site?
I feel very confident about the way ShortcutWorld.com was implemented. It sits on a Virtual Private Server at a professional Web Hosting Provider with a good security policies enabled. All server passwords are extensive with mostly special characters. The Underlying technology is standard Apache, PHP, and MySQL, and less than a handful add-ons mainly for the front-end, such as jQuery. No third-party framework was used which avoids potential vulnerability and dependencies. All User Login and Account Pages have SSL enabled. Passwords are double-hashed with MD5 + SHA1 and salted. Brute-force attacks against the login page are tracked, slowed down, and IP's or User Accounts locked. PHP PDO is used for all database queries. All code is 100% under ShortcutWorld.com control, down to each component and parameter. All Apache, PHP, and Access logs are stored and reviewed every once in a while. To prevent data loss and vandalism, all published Page Updates are logged and reversible. Regular database backups are happening. If you could think of anything else that could be done, please let me know.