• Allow users to change the background color of each page. This will help deffirenciate between content pieces, just like coloring a cell/row/column in a spreadsheet/table. If I have a long document broken into pages and categories, it will be easier for me to find a page with background color blue, than looking a tiny headers/titles.
  • Allow users to collapse / expand bullets in a documents. So if I have along list of items, let me collapse them so I can jump to the next point without having to scroll pages and pages.


  • Just like each column header has a dropdown menu, give each row “header” a menu system. Give options for a row when the menu button is clicked.
  • Allow a portion of an area to be brought into focus by enlarging the area and pulling it out from the spreadsheet.
    Solution: For example, I have a long spreadsheet, with many columns and rows, I should be able to highlight an area and “pull it into focus” so I can work on it, without having to see the whole spreadsheet. This makes it easier to collaborate with others without having to zoom in/ zoom out all the time. I will create a prototype of this idea in the short future.

Browser Tabs

  • Once you open more than 20 tabs, the tabs become useless because they are cramped into the size of the browser window; sometimes, becoming just little tabs with enough space for the close button. When this happens, I’m afraid of cliking on any of the tiny tabs and accidentally closing the page.
    Solution: Use parent tabs. Every time a new tab is open from another page, the parent page shows a little number in its tab, when moused over, the list of launched tabs is shown, the user then has the option to pull the launched tabs into the main browser window, or keep them there for better work space.
    Personal Experience: Looking for a new job to transition from my previous one, I looked at many job offers and available job oportunities. I don’t stop to read each one right away, I launch new tabs with anything I may be interested to read. After opening about 50 tabs, the browser / tabbing system became useless. and I didn’t know which job descriptiong was which. The parent-tab system would have been able to show me the actual page titles.
    Extra Features: Users should also be able to add other tabs to the parent/group. And the user can save the grouping as one bookmark item, with a little number to show how many children it has.

Social / Production Widgets Across Sites

  • I came across some very cool social widgets from linkedIn the other day while looking a jobs. Depending on the job description, company, etc. The widget would show me who in my network was an employee of that company, or had similar job positions. Then I wondered, why isn’t my Google Sheet widget at the bottom of this page? I was keeping a spreadsheet of every job I was interested in or had applied to. I’m orginzied like that. But I had to keep jumping from one tab to the other so I could type relevant information about the position. What a hassle!. It would’ve same me many cliks if my google widget was in each page. Pages don’t belong to the content owners, the page belongs to the browser, and the browser belongs to the user. Then the user should have options as to what to show in a browser page. A lot of the Chrome/IE/Firefox extensions are just that, extensions, and you have to click on them to activate them or do something with them. Instead they should be readily available, on my face type approach. The Doc/Sheet/Paint widget should be and stay where I put it in the page. Even if it moves the page content around.
  • What about a video app inside the browser, regardless of what page/content I’m looking at; instead of being a separate tab/window/applications.

Select text object with Selection Tool.
Add new fill via Appearance Panel.
Move new fill below characters.
Highlight new fill and choose Effect > Convert to Shape > Rectangle.
Enter relative amount of points/pixels/inches etc. …
click OK.
drag the text object to Graphic Styles Panel.

You don’t need any plugins to do this. Just select all lines (Ctrl A) and then from the menu select Edit → Line → Reindent. This will work if your file is saved with an extension that contains HTML like .html or .php.

If you do this often, you may find this key mapping useful:

{ “keys”: [“ctrl+shift+r”], “command”: “reindent” , “args”: { “single_line”: false } }

First you need to add some key bindings. On a MAC you can open the Users key bindings file by going to “Sublime Text 2 > Preferences > Key Bindings – User” (from the menu). A file will be opened, if that file doesn’t contain any keybindings yet, it probably contains just an empty array, like this:

In that array you’ll need to add the keybindings, so your file will look like this after you’re done:

// Auto close tags
{ “keys”: [“>”], “command”: “auto_close_tag”, “args”: { “prefix”: “>”}, “context”:
{ “key”: “selector”, “operator”: “equal”, “operand”: “text.html meta.tag -string -punctuation.definition.tag.begin.html -meta.scope.between-tag-pair.html, text.xml meta.tag -string -punctuation.definition.tag.begin.xml -meta.scope.between-tag-pair.xml”, “match_all”: true },
{ “key”: “preceding_text”, “operator”: “not_regex_contains”, “operand”: “(?:\\<(?:img|br|hr|meta|link|base|input)\\>^<]*)|/$" } ] }, // Line and Tab when hitting enter between tags { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n\t$0\n"}, "context": [ { "key": "setting.auto_indent", "operator": "equal", "operand": true}, { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair"} ] } ] Next you have to add the plugin, which handles the autocomplete. You can do this by creating a new plugin by going to (again from the menu) : "Tools > New Plugin”. A new file will be opened, and the content will probably look something like this:

import sublime, sublime_plugin

class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, “Hello, World!”)
You need to replace all of that code with this:

import sublime, sublime_plugin
class AutoCloseTagCommand(sublime_plugin.TextCommand):
def run(self, edit, prefix=””):
self.view.run_command(‘insert’, {‘characters’: prefix})
cursorPosition = self.view.sel()[0].begin()
The last step is saving the file. If you hit CMD + S, it will probably already open the right folder for you and you just need to save it as If not, navigate to /Users//Library/Application Support/Sublime Text 2/Packages/User and save the plugin in that folder under the name

And you’re done. Now if you create a new HTML file and try to add some tags like it will automatically add a closing tag for you. If it doesn’t, try restarting Sublime Text first.