nolboo / tyto

manage and organise things

Home Page:http://jh3y.github.io/tyto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tyto alt tag

tyto is a completely configurable, extensible and customizable management and organisation tool (wow that's a mouthful!) ###demo/site just visit jh3y.github.io/tyto.

alt tag

###features

  • nice simple user interface for managing and organising
  • no accounts necessary
  • easy to use
  • easy to configure
  • easy to extend and develop
  • localStorage persistence
  • sortable columns and items
  • etc.

alt tag

###tyto has had a big overhaul after the great feedback it received previously on HN. New features have been added that people requested.

###what's been happening.

  • 11/12/13: Posted to HN, really great and very appreciated feedback from a large group of people.
  • 14/02/14: V1.1.0 released with plenty of new features that were raised in the first showing.
  • 16/02/14: V1.2.0 new release with jQuery UI implementation for sorting columns and items.

alt tag

###why tyto? what's it for? To be honest tyto arose from my own and other members of my then team desiring something easy to organise and manage your own daily workflow. This could be something simple like the current development tasks on your plate or maybe the meetings you have scheduled in the current week coming. The ability to also share this is important.

It is true that most organisations have some form of tool for this exact problem but in my experience many employees don't actually like what they are using and you still see peoples whiteboards and walls etc. covered in sticky notes.

This is why tyto came about. It's simple to use, no accounts needed, you can configure it how you want, theme it and the source code isn't hard to grasp as the tech under the bonnet makes it very easy to understand therefore making it also easily extensible and customizable.

alt tag

###who 's it for? Initially, tyto was intended for developers and project managers as an easy way to share current tasks and project progression.

For example; a developer may have columns set up for 'to do', 'in progress', 'awaiting merge' and 'done'. Then this can easily be shared with the project manager by using the email function. Another perspective could be that the project manager will configure a default configuration of columns etc. and then share this with the developer to load and then email back or share when necessary.

However, why have this restriction? It doesn't really make sense. As tyto can be extended, configured and customized however you see fit, it can be used for many different purposes.

Examples:

  • the plan for the week ahead.
  • ingredient lists.
  • priority lists etc.
  • managing your xmas shopping

To be honest, tyto is in its very infant stages and is being shared to see if it gathers enough interest. It is also assumed that while it is being shared new uses will be discovered and features will be proposed as with any piece of tech.

###using tyto the nice thing about tyto is that you can use it however you want to and it's easy to do so. If you just want to simply use it and try it out for a bit then simply do that by visiting jh3y.github.io/tyto, the beauty of 'no accounts necessary'.

Your data will be persisted in the browser using localStorage so you can close the tab browser etc. and you won't lose anything.

If you want to move to a different browser or machine, simply use the export action to export a json file which can be loaded in wherever you use tyto.

alt tag

As for a nice persistent workflow across devices, I haven't implemented accounts and it's not something I am keen on doing to be honest as I believe it takes away from tyto.

However, you can easily integrate with something like Google Drive or Dropbox using their respective desktop features to keep track of your tasks by exporting and loading your task file to a shared folder on your machine. This works for me going between machines.

####using tyto in your own environment to develop against, extend, etc. alternatively, if you want to use tyto in your own environment or want to start hacking away at it and extending, configuring it etc. it's very easy! #####prerequisites if you're cloning the repo and setting up the codebase you are going to need node installed and also the grunt-cli. #####set up

  1. simply clone the repo.

     git clone https://github.com/jh3y/tyto.git
    
  2. navigate into the repo and install the dependencies.

     cd tyto
     npm install
    
  3. simply run grunt to take care of preprocessing and running a webserver instance for you on port 1987(which can be configured).

     grunt
    

####hosting tyto if you simply wish to host tyto in your own environment you can do. I would suggest just taking a snapshot of the gh-pages branch and ftp'ing this onto your desired server or web space.

in most cases and ideally you will want to configure tyto to your own needs and tweak it accordingly whether it be with styles and themes or you want to change the branding, html etc. To do this, the best way is to follow the instructions for developing against tyto and then taking the output from this and pushing it to a desired environment or server.

alt tag

####configuration a nice feature of tyto is how easily configurable it is. It handles this by having a config file that is shimmed for use with requireJS. This file is a javascript file that simply defines a block of json which is the configuration or options. #####autoSave sets whether tyto should auto save actions #####showIntroModalOnLoad: bool sets whether to show the intro modal on page load. #####introModalId: string provides the string of the intro modal id for jQuery to use. #####helpModalId: string provides the string of the help modal id for jQuery to use. #####infoModalId: string provides the string of the info modal id for jQuery to use. #####DOMId: string provides the DOM id for the board component for use with jQuery. #####DOMElementSelector: string provides the CSS selector for the DOM element being used for the board. #####emailSubject: string defines a default subject of email generated by tyto. #####emailRecipient: string defines a default recipient of email generated by tyto. #####exportFilename: string defines the default filename for the json file when a board is exported. #####maxColumns: number defines the maximum amount of columns that can be created on a board. #####columns: object array this defines the default columns to be displayed on a board and the default tasks within those columns.

For example;

        [
            {
                title: 'A column',
                    items: [
                        {
                            collapsed: false,
                            title: 'An item',
                            content: 'im your first item.'
                        },
                        {
                            collapsed: true,
                            title: 'A collapsed item',
                            content: ' im another item.'
                        }
                    ]
            },
            {
                title: 'Another column',
                items: []
            }
        ]

###development the beauty of tyto is how easy it is to change things and really customise and extend it to be exactly what you want. ####under the hood there are a range of technologies being used under the hood to achieve this.

  • jQuery
  • jQuery UI
  • requireJS
  • bootstrap
  • Font Awesome
  • Handlebars.js
  • CSS3
  • jade
  • less
  • coffeescript
  • grunt
  • modernizr

of course, the use of jade, less and coffeescript or any of the technology being used is completely optional but for me personally developing using jade, less and coffeescript in combination with grunt makes development very speedy as the project uses grunt-contrib-connect and grunt-contrib-watch also. ####templating using jade and handlebars has made it very easy to template html for tyto. this makes it also easy to extend or customize in a desirable way.

using the text plugin for requireJS, tyto pulls in templates and then using handlebars generates items, columns, and email drafts so changing entities is as easy as changing the template.

alt tag

###roadmap and known needs

  • the documentation isn't great and in some ways not clear. this does mean that there are probably ways the implementation could be made simpler.
  • mobile support for touch events such as drag and swipe possibly using hammer.js
  • tyto is being shared in a very early age stage to get feedback primarily on how bad or maybe good it is or how it could be improved or approached differently. this is afterall my own little personal project.
  • online persistence if there was demand. this does however mean accounts which isn't cool but maybe the notion of guest accounts and persistent accounts whereby multiple boards could be saved.
  • better responsive design for various devices in general.

alt tag

###contributing if you feel tyto would be something you'd like to contribute ideas to or enhancements please don't hesitate to get in touch or fork the repo and submit a pull request. i know tyto has many flaws so I welcome the criticism to be honest as any publicity is good publicity.

###license

MIT

if you do wish to use tyto please star the repo or fork it, it helps it get spread. Also if you have an interesting use or example usage please don't hesitate to share it and it can be put up as an example.

tyto - http://jh3y.github.io/tyto Licensed under the MIT license

Jhey Tompkins (c) 2014.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@jh3y

About

manage and organise things

http://jh3y.github.io/tyto