usability stuff: findWhenTyping manifest

I love “findWhenTyping”-stuff: You know the new (sllloooooow-ass) search bar in windows vista in the start-menu and in every explorer? (Yes the thing they somehow borrowed from osx..)
In Firefox for instance there is Tools>Options>Advanced>”Search for text when I start typing“. So on any website you can just hit some letter-keys and it finds the occurence.

And they have it in the Options>Application tab as well as in the about:config. Just like it should be: If there is an interface with a list: You just never ever know how long the list can be. Will it be 10 entries or 7000? … I just made this a paradigm myself:

It’s a list? Offer findWhenTyping!

because manual scrolling and seeking just sucks.

Finally I had a little time to build such a thing myself. In our companys Maya-Toolkit (sorry no link, seems offline now) we have a lot of list-dialogs. Actually we have loads of list-dialogs all over the place. But the Maya toolkit is the only spot (thanks to my lame-ass scripting only skills) where I can put my hands on.

exept from the obvious things:

  • on keystroke: list content automatically shows matches only
  • entering nothing shows all entries
  • matching is non-case-sensitive
  • completely keyboard driven – you “can” handle the dialog without the mouse.

I have some additions that I haven’t seen in other similar dialogs:

  • a phrase that does not match anything still shows the last matches – so if you have a spelling mistake the list doesn’t go empty. An empty list would be just useless.
  • first entry is always selected – so you don’t have to extra select something if you already typed the right letters – just hit enter
  • when entering an asterisk * the default asterisks around the *phrase* will be omitted – so you can write start* and it matches everything that begins with start but not with start somewhere within.

What I need to implement in the future because its so useful in the AwesomeBar from firefox:

  • hitting space starts a new search withing the current hits – this means you can combine keywords just with space. For example in your image-folder “cat cap” would find all pictures with “cat” in the name or tag but within this list only the ones with a “caption”-name or tag.

Ok. As I’m unable to finish this right now. I gonna just amend it with a video when I have something to show. :]

release

Ahh releasing is just great! Now.. I got nothing :]

But I’m working on it! And I just want to shout it out here to make it myself aware and that cheap essay writing services its important! No matter what it actually is. If finally a new Mix, some graphics or something scripted.

Last weekend I went to the MAOW 09. The Mozilla Add On Workshok. That took place at c-base. Different lectures about stuff about Firefox. There was a speech of one of the original Mozilla guys and he had something is his slides:

release early, release often

you may know that one. So True if its about free projects or beta versions (the opinions may differ if its about commercial things like computergames … nope there is nothing to differ: these should be as bugfree as possible when coming to the market) With those things I do, say open source scripts for the closed source Maya or Autohotkey-stuff this is very appropriate of course!

But the next phrase! That one really catched me:

If you’re not embarrassed by your initial release
you waited too long!

Bam! I’m always tinkering until the cows come home. But what are versions for? And how shall I get feedback If I don’t publish?! So out with that shit!

Big on the agenda and hopefully here soon:

  • toolSyncTool
  • sunshine house mixtape
  • ewerybody in the house so blue – mixtape
  • lowtion – mixtape
  • ac’tivAid promo-screencast
  • melDrop 2
  • runAndHide

ok get going… Ehmm nope its so late alread…

release

Ach releasen is was geiles. Nun.. ich hab nix :]

Aber ich arbeite dran! Und ich will das hier ma rausposaunen um mir auch selber klar zumachen, daß das wichtig ist! Dabei isses ja egal um was es eigentlich geht. Ob nun endlich mal nen Mix, ne Grafik oder was gescriptetes.

Ich war letztes Wochenende auf dem MAOW 09. Dem Mozilla Add On Workshok. Das fand in der c-base statt. Mehrere Vorträge über diversestes zeug rund um Firefox. Dabei hat einer von den original Mozilla Leuten folgendes in seinem Slide:

release early, release often

kennt man vielleicht schon. Wahre Worte wenns um freie Projekte oder Betas geht (Bei kommerziellem Sachen wie Computerspielen scheiden sich da die Geister … nee da scheidet sich nix. Die sollen natürlich gleich mögichst Fehlerfrei auf den Markt kommen) Bei solchen Sachen wie ich sie baue, also open Source scripte für das closed source Maya z.B. oder Autohotkey-Kram da ist das natürlich sehr angebracht!

Aber der nächste Spruch! Der hat mich echt ganz schön gepackt:

If you’re not embarrassed by your initial release
you waited too long!

Bam! Ich feile eigentlich immer bis sonstewann! Aber wozu gibts Versionen? Und wie soll man Feedback kriegen, wenn man nix veröffentlicht?!? Also raus mit dem Scheiss!

Ganz groß auf der Agenda und demnächst hoffentlich hier:

  • toolSyncTool
  • sunshine house mixtape
  • ewerybody in the house so blue – mixtape
  • lowtion – mixtape
  • ac’tivAid promo-screencast
  • melDrop 2
  • runAndHide

na dann.. Och nö is schon so spät.

Continue reading “release”

Whats going on…

Hmmm been a while, huh? I’m a little rushed from some sides. But there is a lot up!

At the moment I’m actually blogging from the tUM in Karlsruhe Durlach! So Yes! a little demoscene again. And looks like I’m going to do a release myself! okok nothing really special: There is a music loop compo held. Its about a small piece of music (7sec) thats made to be played over again 3 or 4 times without getting boring. Actually my speciallity. Because every time I make music I don’t get past making loops. Finishing a track is not my cup of tea. I like arranging live. Isn’t it more exiting anyway? For apology on this spot I could say that good old Aril Brikha is recording his records this way only (at least I strongly believe he is doing it that way)! :]
If oficially released I gonna make the releases of our group available here.

Not much time for mel scripting though. But theres been at lease a little buzz on cgtalk about melDrop. But looks like I already threw it all over again on paper 😀

Next version melDrop will be only directly available for script authors. Users get the melDrop script in the zips already so they don’t need to bother. Actually that wors already but I have some more thing up my sleeve that I need to work on the interface for. Apropos interface: This is gonna be awesome next version! All settings on one page. All on one view. You click Ok and see the installation progress and thats it. Plus arbitrary number of attached files and shelfButtons and Hotkeys with arbitrary commands.

The blog needs care as well I know.. I’d need to finish the about page and the language integration. But I upgraded to wordpress 2.7! Its not perfect but real cool that the next upgrades will be sans manually copy file by file.

Was so geht…

Hmm ich hab schon ne Weile nix geschrieben, wa? Überfährt mich alles gerade nen bißchen. Aber es ist schon einiges los!

Momentan blogge ich tatsächlich von der tUM in Karlsruhe Durlach! Also: Jau! Wiedermal nen bißchen demoszene :] Und wie es aussieht werde ich selber auch was kleines releasen. Okok: Wirklich dolle is das nich: Es gibt eine Music-Loop-compo. Sprich ein kleines Stück Musike (7sek), das so angelegt ist, daß man es 3-4 Mal hintereinander spielen kann ohne daß es öde wird. Eigentlich meine Spezialität. Denn immer wenn ich bisher Mucke gemacht hab bin ich nicht übers loopen hinausgekommen. Track fertigmachen ist absolut nicht meins. Lieber live arangieren. Ist ja auch spannender. Zur Verteidigung könnte ich an der Stelle sagen, daß (bin ich zumindest ziemlich überzeugt) der gute Aril Brikha seine Platten genauso aufnimmt! :]
Wenns soweit ist werd ich die releases von unserer Gruppe gern hier verfügbar machen.

Für mel scripting ist nicht gerade viel Zeit. Auf cgtalk gabs dann doch noch nen bißchen bla bla über melDrop. Und wie solltes anders sein, hab ich das Ding auf dem Papier sozusagen schon wieder komplett umgebaut 😀
In der nächsten Version wirds nur noch für den Skript Autoren interessant sein. Die melDrop skripte werden dann im Zip immer mitgeliefert, so daß sich der User gar keine Platte darum machen muss. Geht eigentlich auch schon jetzt. Aber ich hab da noch nen paar andere Sachen für die ich das Interface umbauen muss. Apropos interface: Das wird auch echt scheen in der neuen Version: Alle Einstellungen auf einer Seite, alles auf einem Blick. Einmal klicken und man sieht den “Installationsverlauf” (sollte sich alles innerhalb einer halben Sekunde abspielen können) dann is schon fertich. Zudem endlich beliebig viele Files und Shelfbuttons und Hotkeys mit egal welchen commands.

Der Blog an sich läss auch nen bißchen auf sich warten. Ich müsste endlich mal die About seite überarbeiten und die Sprachen vernünftig integrieren. Aber ich hab mittlerweile wordpress 2.7 drauf! Noch nich perfekt, aber schon cool, daß man endlich auch updaten kann ohne den ganzen Mist von Hand zu kopieren.

melDrop

pchew… I got the stone rolling 😀

ok, this is the homepage for melDrop. I gonna fill it by the time. For now its just a placeholder. Stay tuned.

I just uploaded melDrop to highend3D.com but they gonna take a moment to approve it.

Update: Ok melDrop is up at highend3D:

melDrop – Maya script installer

There should be everthing you need to know about that. I updated resetPivot and temporary uploadet melDropEnabler to sendspace to be awailable as long as its not up at highend as well.
Ah yea and I created a little transparent logo!

ok. Lets give it a try. I gonna make a post on cgtalk about that ^^

Update: Ok I posted at cgtalk, percutio (german Maya forum) and now highend3D as well.. No comments so far. Its been 3 days! They don’t like it 🙁

I mean .. its not the video, isn’t it? People say its a little fast. I know.
Shall I make another recording and then everthing goes BAM??! 😀 I don’t think so. Nah whatever.. I gonna use it anyway.

do-what-I-mean-shit with Autohotkey

Hehe :]

Technical director floh wasn’t thrilled.. But I actually was looking for a way to do this long time:

If you script code sometimes you define stuff, a variable e.g. at the point where you finally want to use this variable you need to go back to the definition somehow (via mouse or cursor) copy it and return to the point where you felt like having that variable available. A word-autocomplete might help in that case as well. But if your var has a long prefix and … nah!

What I actually was looking for:

  • you get the idea: Oh I need this from over there
  • I press a hotkey to remember the position
  • you move to the thing you need and select it
  • you press another hotkey

then its finished: The piece you where looking for is at the spot.
Ok now chill the fuck out: I got this:

This has nothing to do with the code editor: Its all Autohotkey:

  • on Ctrl+Ins it figures out the typing-cursor/caret-position (does not always work FF e.g.)
  • places a tooltip and waits for you to press enter
  • you make a selection somewhere else
  • If you press Enter: It gets the selection
  • clicks the mouse to the old position
  • inserts the selection
  • restores clipboard and mouse position

Thats actually it! If you want to take a look at my puny source code:
or even want to test it out without having Autohotkey try the .exe:

http://goodsoul.de/ahk/rememberPosTool.ahk
http://goodsoul.de/ahk/rememberPosTool.exe
(virus total online check link: suspicios file… well it waits for your keystroke.. 😉 )

First I had an ac’tivAid UserHotkey-snippet without the hotkey on/off crap… but somehow UserHotkeys somehow deselects the current window. Need to look into this later… This example works much better. So it doesn’t matter if you click via mouse or select with keyboard.

BUT: now the downsides:

  • I made it cancel when you scroll with the mouseWheel
  • but if you scroll somehow else its broken of course! Works only on screenspace!
  • some apps do not support the caret-position. Like Firefox for instance.

try on your own risk of course ;]

nice site: Lifehacker

Why shouldn’t I post about when adding a new link. Nice Idea huh? :]

Lifehacker.com is a real cool glog! There is almost everything I’m interested in besides 3D-Stuff, electronic music, games and demoscene and even more of topics that I really should take a deeper look into:

  • handy tools for every Operating system, even online and very likely free and Open Source
  • customization-stuff and scripts for all sorts of things: Browser, OS, Gadgets
  • helpful Tips & Tricks & Tutorials for OS and tools
  • collections and polls for “Best 5 things for …”

but even stuff like that:

  • DIY (Do-It-Yourself)- and CheapAss-instructions for all kinds of things
  • tips for concentration and sorting tasks (getting things done stuff)
  • simple and comprehensible environment tips
  • fitness for nerds

Of course there is always crappy stuff flooding in e.g. Apple-news … *yawwwn*. But you get to know things beside your everyday round and if you are not happy with anything 100% (Texteditor, Calendar, Notestool..) might be there is already an alternative discussed at lifehacker.

If I finally get to release something Autohotkey-related I’ll definitely try to get it on Lifehacker! There isn’t even a dedicated ac’tivAid-Post! OKok, it lacks a cool presentation… My ac’tivAid-Vidcast is still long time coming ;] nah it will it will..

First I gonna get melDrop going. But thats a quite Maya-kind thing. More about that another time … (hopefully soon :D)

schöne seite: Lifehacker

Warum sollte ich nicht mal einfach darüber schreiben, wenn ich ne Seite mit in die Links mitaufnehmen? :] gute Idee was?

Lifehacker.com ist eine echt großartiger Blog. Dort findet sich fast alles was mich neben 3D-Kram, elektronischer Music, Games und Demoszene noch so interessiert und noch so Zeug wo ich mich eigentlich auch gern noch mehr beschäftigen würde:

  • hilfreiche Tools für alle Betriebssysteme auch online und gern kostenlos und Open Source
  • Customization-Kram und Scripte für alles Mögliche: Browser, OS, Gadgets
  • hilfreiche Tips & Tricks & Tutorials fürs OS und Tools
  • Sammlungen und Abstimmungen für “was ist das beste zum …”

aber halt auch so Sachen wie:

  • DIY (Do-It-Yourself)- und Billigheimer-Anleitungen für alles Mögliche
  • Tips zum besser aufs Arbeiten konzentrieren, Aufgaben sortieren
  • einfache und verständliche Umwelttips
  • Fitness für Nerds

Klar jaucht auch machmal ganz schön viel Mist rein zB über Apple-Kram. Aber man kriegt echt mit was sonst noch so geht wenn man mit irgendwas noch nicht so 100%ig zufrieden ist (Texteditor, Kalender, Notiztool..) kanns gut sein, daß bei Lifehacker schon mal ne Alternative diskutiert wurde.

Wenn ich mal wieder dazu kommen sollte was Autohotkey-mäßiges zu releasen werd ich das definitiv auch versuchen bei Lifehacker an den Mann zu bringen. Nen dedizierten ac’tivAid-Artikel gabs da auch noch nicht. Naja.. mit meinem Vidcast dazu lässt es ja auch noch ein wenig auf sich warten ;] kommt schon noch.

Ersma will ich melDrop auf die Beine kriegen. Aber das is was ziemlich speziell Maya-mäßiges. Dazu nen andermal mehr… (hoffe mal bald 😀 )

scripting insights – fall-throughs

Oh if you are scripting or coding you might come across those “insights”. This is of course to share my thoughts but to have a place to keep and remember this stuff as well. I mean maybe this is completely bollocks!! Comment if you you think so! :]

Ok: fall-throughs:
As I always try to cover as many cases as possible (within reason of course!) I create a lot of masseges to the user. In this style I really became sick of that huge if-else blocks that have the fall-through-message at the end. These tree like creatures:

if ($condition1)
{
    // do all this ...

    if ($condition2)
    {
        if ($condition3)
        {
            // do this too ....
        }
        else
            error "bla because of ...";
    }
    else if ($condition4)
    {
        // do other stuff ...
    }
    else
        error "bla bla blub...";
}
else
    error "bla bla bla...";

this shows the usual style one would do: But there are major drawbacks: the conditions and the error-messages are at opposite positions. And if you add a condition that might escape the whole thing you’d have to add another “scoping-level”…
Ok, now the insight: I write the escape-relevant conditions in negative style a line in the very front of the script:

if (!$condition1)
    error "because of ...";
else if (!$condition2)
    error "because of ...";
else if (!$condition3)
    error "because of ...";
else if (!$condition4)
    error "because of ...";

// now do stuff ...

With this style I have the conditions right at the error messages. The indentation is much less deep. And all the stuff that could crap up the thing is coupled at a definite place.

Ok.. this might sound like kindergarten to a real programmer but. I felt quite smart when doing so ^^

whatever now I wrote it down. So be it.