Wednesday 8 December 2010

Super Macro

This blog post is probably a query..

My tasks on the computer very often involve repetitions of commands. Even though the same commands (steps) reveal new information everyday.

Example 1.

Internet -

  1. check 2 different mailboxes 
  2. two different news sites and 
  3. three blogs depending on the RSS feeds I have received

Can this happen automatically- at one mouse click?

Example 2.

Non-internet based job -

  1. Start a custom designed commercial tool to do certain tasks
  2. This job requires repeating the same steps to get different simulation results obviously with small variations in input data.
  3. Then I copy and paste various texts from the tool to an excel sheet.
  4. And do further simple math in excel. 
  5. Finally, results are plot

How about a super macro creating software which records the steps across different tools on the computer and creates an executable script based on this recording. 
Enhanced feature - to add variables to this script so it may in the end have the capacity to produce an analysis.
Super Macro - to make for/ if-else loops within macros.

It would be brilliant to see an easy GUI based software that does this. With increasing computation capacity would'nt this be handy for the less code-able.

4 comments:

  1. Add "writing papers" in the loop of example 2 and you invented the automated grad student :)

    But seriously, this is a very good post and a valid need many people face, and there are few good solutions.

    1. Automating tasks is much easier in command line than in GUI, for example in your first example it would be not-too-difficult to write a short script to fetch email and rss and such and do some operations on it and spit out the result - especially system administrators are keen on automating repetitive tasks - so if you are on Linux and command line, this is a solved problem. "Yahoo pipes" was an attempt at making this pushing of information back and forth more easily customizable even for non-programmers.

    2. In a GUI, I vaguely remember in Windows there used to be some "macro recorder" and it could replay the steps you showed it to do (i.e. the exact key presses and mouse movements), but it was not really programmable, and it was very brittle also: if an unexpected popup box appeared, the macro failed miserably. GUIs make these things more difficult.

    For example there is an ongoing arms-race in the online poker scene between operators of websites want to allow only humans to play (and not programs a.k.a. bots), so they make it ever more difficult to process the site automatically, while programmers keep on improving their bots, so that they still can play without human assistance, and make money at the expense of weak human players (the bots execute a "macro" which implements some strong poker strategy).

    Anyway, if you add in variables and branches, it really is programming. I agree that programming should be made more accessible to the masses. In the past all computer users had to be programmers, now the tendency is to use the computer as a toaster: use it only for what it is "supposed to do", no need to program it. There are many reasons for this trend, and some of them are compelling, but the result is a lack of flexibility.

    3. Hire an assistant to do these tasks for you :)

    ReplyDelete
  2. Great feedback..
    the complexity of handling new events in a GUI based solution is probably a hurdle. But in that scenario the GUI could itself hang and display the pop-up. Which would be perfect since an event the user has'nt logically (or otherwise) considered occurs.

    This would call for refining the macro steps.

    Blogger does this in some way already..hides the code presents a neat GUI..everyone is blogging.

    But in that sense the SuperMacro would be the jungle..anything may be possible..

    I could not find the windows macro recorder..
    Thats exactly what I want :)

    Otherwise, I think programming as a profession should become less and less relevant on the scale it is atm and that would call for one more level of simplicity away from machine level.

    ReplyDelete
  3. It might have been this one:
    http://freelabs.info/macrorecorder.aspx

    No guarantees though, I have seen it a decade ago.

    I totally agree that programming as a profession is becoming less needed at the large scale, whether that is good or not I'm too biased to tell, but it is probably totally normal, as it is the same thing that has happened in so many other fields. 50 years ago all car drivers had to be car mechanics as well. When I was a kid you had to know how to fix a bike if you wanted to ride one, they didn't even sell bikes without repair kits. Now ...

    It's more convenient and saves time of course, but there is a price to pay also (in this example quite literally ... to the car/bike mechanic)...

    So I don't want to sound like a grandpa ("in my times..."), the human need for tinkering just moves one level up, i.e. you don't want to waste time programming a macro recorder but you want to get something else done with it, etc.

    In that way, even decades ago, when all computer users were programmers, some people were still complaining ("in older times you had to rewire the circuitry of computers yourself, these youngsters with their software and programming, they don't know anything...")

    ReplyDelete
  4. exactly :)
    could not have agreed more!

    ReplyDelete