Showing posts with label Software. Show all posts
Showing posts with label Software. Show all posts

25 September 2008

Thought of the Day - Online To Do List Roundup

A while back i blogged about my love of To Do Lists and at the time i was enamoured with Ta-da Lists by 37 Signals. While it is beautifully simple and totally fulfils their vision of; "competing with a Post-It note", i started to yearn for something with more control and flexibility. So over the last couple of months i have been moving between various webapps for capturing To Do's. I don't think i have yet found the ideal webapp (and it might not exist) but i thought i would share my experience with each of the sites so hopefully other people can find the perfect To Do List for them.

Ta-da Lists
Despite my quest to find the perfect mix of features, i still use this on a fairly regular basis, its great for short ad hoc lists and capturing things to be done quickly. I even sometimes transfer To Do's from other sites into this for the satisfaction of ticking them. Superb for short ad hoc lists, not so good for more complicated projects.
Pro's: Beautifully simple, replaces Post It notes, quick and intuitive to use, satisfying animation when tasks are complete.
Con's: Can't arrange your high level lists, no support for rearranging tasks between lists,
not hierarchical, does not support; tagging, reminders, due dates, searching.

Remember The Milk
So from Ta-da Lists i briefly moved on to Remember The Milk after reading a great article on how to use RTM with Getting Things Done. It has support for tagging, reminders, multiple categories of lists and even setting locations with google maps. I think in principle it could be great but i find there are some interfaces niggles that annoy me.
Pro's: Very clean looking interface, works offline with google gears, support for; tagging, reminders, due dates, prioritisation and reordering of tasks, physical locations for tasks.
Con's: Can't reorder your high level lists, not
hierarchical, interface doesn't quite work for me (rollovers don't stick), clicking anywhere on a task marks it as complete, slightly silly name.

Treedolist
I had a few annoyances with the user interface of RTM and it didn't offer what i really wanted; a hierarchical task list. I worked in project management for a bit so i like the idea of having subtasks that all contribute to a high level task and i hadn't found that in any of the other webapps. While it is possible to do this in Ta-da and RTM it is only to one level i.e. you have a list composed of tasks, but you can't have subtasks within each task. A google search for "hierarchical to do list" lead me Treedolist which is specifically designed to be hierarchical (like a tree).

Pro's: Hierarchical, intelligent search bar, support for; notes, links, due dates, virtual tagging (if combined with search), changing font sizes.
Con's: Visually it is rather ugly, the interface is quite clunky (old fashioned and unintuitive), you can't reorder tasks other than to the top of the list or to become subtasks, there are some inconsistencies with keyboard shortcuts and actions (sometimes they work sometimes they don't).


Backpack
I had looked at Backpack a while back but i dismissed it as some sorta weird replacement for a company intranet, but after reading Getting Real (great book - notes to follow) it seemed like it might do what i wanted too. Overall there are a raft of features that i have no need for (newsroom, writeboard, journal etc) but the Pages (and if i paid for it, the Calendar too) are excellent. The Pages in particular are really flexible, not only can you have multiple lists on each page, you can split them with dividers, add notes sections and even writeboards. Alas you are limited to 5 pages on the free account which is workable but not ideal.
Pro's: Great interface, easy to move tasks between pages/lists, best visual layout method i've seen (lists, dividers, notes, writeboards etc), the same satisfying animation as TaDa Lists when you complete a task.
Con's:
Can't reorder pages (only alphabetically), very limited number of pages on free account, no support for; due dates, task level tagging, assigning notes/links to individual tasks.

Todoist
I literally just stumbled on this tool while writing this post during random googling for links and it seems to be just what i'm looking for. If it works out i will do a longer review of it later, but here are some initial observations.
Pro's: Great interface, hierarchical tasks AND projects, ability to reorder tasks and projects, due dates, multiple projects, easy to move tasks within lists and between projects, prioritisation/reordering of projects.
Con's: Slightly strange query system (it might search?), the page is too wide for my 7" EEE, i haven't used it in anger yet.

Some other resources:
Top 10 Web To Do Lists
LifeHacker Poll Of Top 10 Web To Do Lists
LifeHacker To Do List Tips
Information on the 'Getting Things Done' System

I should start a new trend; Blogging As A Problem Solving Tool, by researching and writing about your problem you may find a solution to it. Alas i have been here before, i think all of the above To Do Lists have seemed like the answer to my prayers at one stage or another and after extended use i have found little annoying niggles with them. So hopefully Todoist will work as well as it seems to, but time will tell.

29 June 2008

Thought of the Day - Ready, Fire, Aim

Sometimes a theory or and idea keeps coming up over and over again and in those situations it is hard to ignore. Recently i kept reading about the benefits of the "Ready, Fire, Aim" approach, it was in books, on websites and in podcasts and it made sense.

Most people use the "Ready, Aim, Fire" approach. Only it normally turns into "Ready, Aim, Aim, Aim ... maybe Fire", too much planning and not enough action. On the other hand "Read, Fire, Aim" relies on action straight away, the results of which can be used to improve your accuracy. It is like firing a gun for the first time, you don't know whether the sights are set correctly or if the barrel is straight, therefore until you fire the aiming might not matter at all.


Something i have been meaning to take action on for a long time (like since 2004) is updating my WebCV into the modern age. It was originally built like a site from 1996; a pain to update, not very modern looking and rubbish for search engine optimisation, frankly it was an embarrassment. At various times since then i have bought and read books about web design, i have felt guilty for not updating it and once or twice i have even started to put something together. But it never quite got done, i spent too long planning and worrying about how difficult it would be and how long it would take to get it perfect. Even the most recent time i made a start in March i had a big elaborate plan, it was gantt charted out over 3 or 4 months but of course after a week i lost interest and nothing ever came of it.

On Friday evening i was listening to a podcast from SXSW where various entrepreneurs who were renowned for being 'fast' were speaking on the topic. These were people who had built the likes of Twitter, Blogger etc which are rather complicated pieces of software and the timescales they were talking about from picking a concept to first release were ridiculously short, months if not weeks. At this stage i began to feel rather embarrassed, my WebCV really isn't that complicated, i have most of the skills to update it, so how come they can launch huge brands in a few months and i can't even build a website?

The answer is simple; they set a short timescale to get something out there, it may not be complete, it may not be perfect, but it is something that they can then build on going forward. Programmers call this "release early, release often". It is better to get something out and get real customer feedback about what needs changed than it is to spend years building what you think customers want only to find
it isn't actually what they want or the opportunity has passed.


With this in mind i decided that 12 hours was a reasonable amount of time to build a website. I set key tasks that had to be done and decided if something was taking too long that i would accept something that was ok, rather than taking longer and getting something that was perfect. It was difficult, first off it is the weekend so it was hard to avoid distractions and secondly i had forgotten most of the CSS i used to know. But after 11 hours of work i updated my WebCV and uploaded to the site.

I would be grateful if anyone who reads this could go and have a look at my WebCV and provide any feedback they can think of through the contact link. So far my list of things to do includes:

  • Validate the xHTML and CSS against the W3C standards
  • Improve consistency across browsers (IE7 and Firefox 3 are ok but i suspect it needs work on IE6, Firefox 2 and IE8)
  • Sort out the padding and margins to get the spacing between the headings and text right
  • Make a better header (the current one will do but its not great)
  • Make the navigation tabs a bit less bland and angular
  • Think of some ways to make it more visually appealing without being tacky

At least i have something out there, a base to build on. It is a much less daunting task to make lots of small improvements than it is to come up with something brand new and perfect first time. So remember; if you are procrastinating, if a project seems to big to know where to start, set a tight timescale and "Ready, Fire, Aim".



Idea from: http://www.fourhourworkweek.com/blog/2008/05/29/the-art-of-speed-conversations-with-monster-makers/#more-362

28 June 2008

Thought of the Day - RSS Feeds

For supposedly being a tech-savy guy i can't believe i haven't made use of RSS Feeds properly until now.

I say properly because i have used them before, i played with Firefox's RSS reader and Google Reader a while back but it never really stuck. I think it was because i was subscribing to feeds that had a stupid number of updates a day (unfiltered news sites etc) so i was just getting overwhelmed with junk. I guess i assumed that all RSS feeds were like that until this morning when i realised that a lot of the sites i have open in Firefox and refresh on a regular basis are sporadically updated. I was just going through checking for updates, not finding any and thought "surely there is a better way" and then i noticed a pattern ... lots and lots of little orange buttons. So i fired up Google Reader, deleted all of the high volume feeds i was subscribed to (but never looked at) and added all of the blogs and other sites with sporadically updated content. So now not only have i saved on memory footprint in Firefox, i only have to refresh one page to get updates, everything is in a nice chronological order and i don't have to worry about missing anything.

In all honesty it hasn't cut down my number of Firefox tabs that much (maybe lost 10 tabs overall) but combined with moving
the tabs i keep open 'for reference' to Google Bookmarks and i should get down to one window.

16 June 2008

Thought of the Day - Metrics

I read an interesting article about metrics, specifically it was about metrics for software projects but the main rules are applicable to all projects.

A metric should be:
1) Informative (and ideally Predictive) - It should give relevant useful information.
2) Objective - It should not matter who is determining the metric.
3) Automated - The more work it takes to generate the metric the less likely it is to get used or recorded accurately.

Idea From:
http://www.baselinemag.com/c/a/IT-Management/Lies-Damned-Lies-and-Project-Metrics-Part-1/

12 May 2008

Thought of the Day - Reliance On Google

I am starting to get a bit worried about how much i rely on Google:

Search - Just about every search i do is through Google, i don't remember the last time i did a search on a competitors site and the only regular time i don't search in Google is when i know what i'm looking for will be in Wikipedia and i start there.
Gmail - for the last 5 years all my personal e-mail has been through Gmail, in one way it is great because i have a great search tool to sift through so much information, in another way Google has a lot of personal information and what happens if i ever lose access to it.
Gchat - Chat from within Gmail with my friends with Gmail accounts.
iGoogle - Customized homepage that aggregates mail notifications, various news sites and various links i use frequently.
Blogger - Hosts this blog.
Google Analytics - Used to track traffic through various websites (including this blog).
Google Checkout - Used instead of paypal on some occasions.

More recently i have started using:
Google Bookmarks - Currently i have dozens of tabs open in 3 Firefox windows, most of which i don't look at on anything approaching a regular basis but don't want to close incase i lose or forget them. I also have various bookmark and favourites lists on different computers none of which are linked. I also have various backups of my bookmarks that never quite made it between computer upgrades.
Google Web History - Cataloguing all of my web viewing activity at home, useful if i forget to bookmark something or wonder how much time i waste online.


So what happens if Google ever; become evil, start charging for some of the products, disappear, are hacked, withdraw certain services etc etc? Frankly i'm kinda screwed. In one way it is great to have everything aggregated in one place, but in terms of risk mitigation it does feel like i have all of my eggs in one basket.

22 April 2008

Thought of the Day - Learning

I read an interesting article today on Wired, it was about a method to optimize your recall of information. If you are interested in learning facts for training/university or learning a foreign language i strongly suggest you check out the link at the bottom of the page.

The theory is that over time your chance of recalling something gets less and less but the optimum way to learn is to recall the information as long as possible away from when you last thought about it. In other words you first read a fact, then you wait until there is a 90% chance of remembering it before you test yourself again. Then after that test you wait a longer time until you get to a 90% chance of recall before you try to remember it again. You repeat the process until the time between remembering is so long that it is effectively embedded in your mind. The advantage of this method is that you don't just memorize the information for a few weeks or a month like you would with traditional cramming, it stays with you almost forever.

So if you are somewhat astute you will have spotted the obvious problem; how do you know how long to wait before retesting yourself? The duration depends on the person, the type of data you are trying to memorize and how many times you have recalled the information. As you can imagine this would be difficult to work out for one piece of information never mind the hundreds or thousands of pieces of information that you are likely to want to recall. Fortunately Piotr Wozniak has created some software that has an algorithm to automate all of this for you. You can input your own information or you can buy 'Libraries' of pre-compiled factoids.

Your next questions are bound to be; If this method is so great why have i not heard about it? Why is every language, law and medical student not issued with a copy of the software? Why is it not taught in every school? Unfortunately i can't answer those questions but i am sufficiently intrigued to put down the $45 to get the software.

Lastly the thing that i find the most interesting is that the method seems to have benefits beyond simple rote memorization. It is suggested that due to the random nature of the questions it can help you creatively too. Your brain has to be used to jumping between topics and the questions in a random order might help you to see linkages where you did not see any before.


Idea from: http://www.wired.com/medtech/health/magazine/16-05/ff_wozniak

14 April 2008

Book Notes - Necessary But Not Sufficient

Necessary But Not Sufficient by Eliyahu Goldratt [2000]

Summary:
The inherent conflict in software development is adding features to keep the customers happy Vs keeping the software easy to maintain and use to keep the customers happy. This conflict can be avoided if you focus on adding value to the customer, if they are making bottom line benefits they will not be interested in adding features that do not add value.
To add value you must work out what limitation your software can overcome. Moreover you must work out what rules are in place in the company to accommodate those limitations and then replace those rules with new more suitable rules. Only once the rules that accommodated the limitation are removed will you see benefits.

Notes:
Page 60: Have the client meet the project team before the bid goes in, while it does mean you need to have excess staff it can work very well to motivate the sale. If the client can get a feel for the project team and their competence they are more likely to select that vendor.
Page 61: Companies spent a lot of time making their new tools (ERP systems etc) look like the old tools, the problem is if they looked exactly like the old system then what is the point in upgrading.
Page 114: Refer to these 5 pages for discussion on finite capacity scheduling, along with its pros and cons.
Page 124: The key to finding the where the benefit lies in a new technology is to understand what limitation it overcomes, but moreover work out what rules helped us accommodate the limitation and what we should replace them with.
Page 130: Concept of time buffers as well as material buffers. Also concept of dependant setup times (going from black to white parts in injection moulding). Even more complicated if dependant setup on two machines overlaps and causes the bottleneck to shift between them.
Page 163: To make sure clients don’t focus on stupid little details you need to offer them sufficient value that they don’t care about the little details only the bottom line benefits.
Page 175: TOC can be devastating to a system if you only introduce it to one section at a time. If you introduce it in production and sales can’t keep up you have too much capacity for no reason. If you increase sales but production can’t keep up then you annoy your customer. The same is true of all other dependant functions.
Page 176: Forecasting at a warehouse level and particularly basing Min/Max Replenishment on forecasts is an easy way to build inventory, the solution is not to have a better forecast but to be flexible enough to make product to order.
Page 183: Oral presentation of the conflict between production, distribution and sales, example of presenting a transition tree.
Page 190: Forecast accuracy for various sample sizes like central limit theorem?
Page 192: Have a pull system with each plant holding ~3 weeks (dependant on replenishment time) of inventory of everything and shipping what each warehouse sells on a daily basis. As the shipments are for all sales, not just one product, the transportation should be still be a sensible cost.
Page 198: Measure your pull in throughput dollar days both for inventory and for missed shipments.

Quotes:
Page 4: “To be paranoid you must constantly assess the impact of your actions on the global picture. Which means that first you must relentlessly search for a deep understanding of the global picture.”
Page 62: “The customer is not always right but they are always the customer.”
Page 124: “We expect that a new technology will bring benefits when and only when, the new technology surpasses an existing limitation.”
Page 224: “As long as the end customer in the supply chain didn’t buy, nobody in the supply chain has sold.”
Page 226: “Trust is nice as long as there are measurements that serve as a watchdog.”