Wednesday, 7 February 2007

While I have your attention

I've been promising this for a while, below is an account of ideas regarding Awn, the GNOME Desktop, and also some information on future projects.

Awn and the desktop
I have been thinking about Awn for a very long time. Although it is young in terms of releases, its been rattling inside my head for ages, questions like What more can it do with task icons? How else can it fit into the desktop? What else does it need to complete the effect?

Now, below I have included some mock-ups of my ideas. You will notice a little search window in there, well that my friends, is the continuation of Awn, Affinity.



The best way to describe affinity is to say that it will be a front-end to all the information on your desktop, imagine it as 'Planet' to different feeds on your desktop, such as beagle/tracker, recent documents, bookmarks, tags, contacts, etc. It can be called from either a key-stroke or from the gnome-panel. Some features :
* It has search-as-you-type.
* Actions (like typing "www.google.com" will present you with an option to open it).
* Written in C, its extremely fast, even on a old system.

I haven't released any code yet, but expect some in the next few weeks, once I have cleaned it up. It, like Awn, is in early stages of development, and just like Awn, everyone's views count!

Speaking of Awn, you may have noticed the bar on those mock ups...looks familiar doesn't it? Those are the mock ups I used to make Awn. As you can see, the bar has a mock up for startup notification (the spinner), yes it looks a bit simple now...just wait till I'm done ;).

Below is also a mockup of whats coming in 0.3 for the 'I have a wide screen, cater for me!' guys!



Appearance
As you can see from the previous mock ups, there are some funky themes in there! That leads me to my next point, which is this: I love having a composited desktop, Awn doing its thing, Beryl throwing windows all around the screen, cairo-clok ticking away, however, in my day-to-day tasks, I am left a bit disenchanted, therefore, as a side project for me to show my cairo/gtk prowess(:p), I am also going to start work on a gtk theme that takes advantage of the composited environment. Now, please bear in mind that a theme has to be used all around your desktop, and I am guessing that any theme that uses extensive cairo drawing + transparency is going to have an effect on your cpu, but I still think its worth it as a proof-of-concept.



Regarding the actual theme, I will have a separate post on that later, but until then, click here to see some of my mock ups (going from pretty standard to extreme). If anyone has ideas, please let me know in the usual ways.

That's enough for now! I have SO many other ideas for desktop linux its not even funny, but I will document them as/and when I have time to implement them. Some are desktop-orientated, but don't worry, most revolve around eye-candy like this:



Anyway, I better get back to Awn...still a lot of features/fixes to write ;).

56 comments:

Netjack said...

I love you! :-)

your mockups looks great and i hope you will implement soon some of these ideas

Dan said...

Very nice stuff, clean concise and functional.

Your my new eyecandy hero.

Vinicius Depizzol said...

Really nice!

Alecks said...

wow... I can't wait!

mike jones said...

the first to screen shot looks amazing! So far I have been blown away by this project, Just works like no other dock I have ever used. Also I love how you keep the users updated allot on whats going on.

One suggestion though, can we use the wiki on your google code page?

Joel said...

composite-aware gtk2 engine sounds GREAT :)

David said...

I was wondering if there's any way I could submit a patch to AWN? I really wish that it could hide when my mouse isn't near it. I'm not a C or a gtk programmer, but I wrote some of the code that would enable the animated minimize, and I could email you the patch for it (and hopefully you know how to write the other bit of code). I think it's less than 20 lines, but for me, it would tremendously increase the usability. I've already replaced my taskbar with AWN, and this would make it even sexier. Great work!

Andres said...

omg, cant wait for awn 0.3

bato said...

Your work left me without words.... great ideas!! I'm a very happy user of avant! I hope your project will implement soon.

Anonymous said...

woooooooooooooooooooooooooowwwwwwwwwwwww

The Doctor said...

looks like Vista and Mac OS X in oe .. but hey it looks great so why not. (in saying that i hated the fact that vista looked like OS X, but this is linux :) )

Neil J. Patel said...

Hi everyone,

Thanks for the compilements! I am working hard to make my programs as close to the mock-ups a possible!

I know you can see influences from Vista & Mac, but bear with me, you'll start seeing differences soon ;).

Anonymous said...

"I know you can see influences from Vista & Mac, but bear with me, you'll start seeing differences soon ;)."

Not to knock it (it looks good), but it looks pretty close to a Mac OS X clone to me.

Neil J. Patel said...

@anon: Hi! I was talking about the themes, not Awn :). Awn is close to the Mac OSX dock, granted, but as I have said before, just wait and see what comes of it ;).

jake3988 said...

Is the theme in your first screenshot (on this post) a custom theme or a downloadable one?

That pseudo-transparent gray theme looks mightily awesome!

Jason said...

Your work looks great! I can't wait to see where you go from here.

Are you contemplating integration of job management into the dock as well? I'm imagining something like the job management being implemented in KDE4 but applied to each of the launchers. You could add a bare progress bar under the text in your red screen shot with information in the pop-up mouse over.
http://dot.kde.org/1169588301/

Of course, that may not be feasible without major rewrites of the WM like KDE4 is doing. But it would be clean.

Phill said...

It all looks very shiny and personally it's the direction I'd love to see Linux eye candy moving in, but i have a reservation about affinity. It seems similar to at least some of the functions of the "Computer" menu. I can see how it improves on that, but do users, especially new users coming perhaps from Windows or Mac OS, benefit from having two tools that seem to perform similar functions both available from within what, a a few hundred pixels of each other? Admittedly this is just my gut thought; I do however look forward to seeing how everything progresses. :)

Neil J. Patel said...

Hi all!
@jake: ATM Affinity is reading the values from Awns gconf settings. When I release avant-them-eengine, it should able to do these effects, or at least it will in the future.

@jason: That is what I mean about applications controlling their icons. So, for instance, while Epipphany is downloading files, it can update the progress on Awn. The icon will show the progress, as will the hovering text. I am working on it now, so hopefully i'll be blogging about it today/tomorrow. This API also means you can see the album art as the icon while your listening to music. Its a DBus interface so any applications should be able to connect to it. Let me know if you have any more ideas!

@Phill: I understand what you mean, thats why Affinty also serves as a drop-down menu on your panel, like SLAB. However, since my post, and after speaking to a few people, I am going to try and spend some time on a Tracker front end. Something which brings together the ideas of Affinity. I think/hope more people will benefit from that.

Anonymous said...

First migrate to Xegl or another way of doing RGBA right before trying to mix XClient software with XComposite-based software like Xgl. To do this stuff the way it is supposed to be done, we need true RGBA on X-level and GTK-level, so that cairo doesn't need to invoke hardware itself anymore.

Neil J. Patel said...

@anon: You may be correct, but I am a firm believer of 'unless we try and push what we have to the limit, there will not any reason to move forward'. As I said in my post, a theme engine which uses cairo+RGBA extensively is not going to be the fastest theme engine, it may even be a pain to use day-to-day, but it will (hoepfully) serve as a demo of what can be done.

guice666 said...

I don't like the first two; too "vista like" for me. The others look good though.

Piotr said...

Do as you say, and make the speed of cairo the cairo's team responsibility. Or start using glitz. One question though - are the Cinema media Player and the Piooneer app also mockups? cause they look MIGHTY sweet. As of now i only need a few basic things out of awn : autohide, and for it to be able to host notification icons : then i could do-away with the gnome bar completely :). And the gtk engine looks MIGHTY sweet, and it looks just right - don't change it!

Neil J. Patel said...

@Piotr: Thanks! Regarding Cinema/Pioneer, they were mostly a playgound for different ideas for normal applications. They are not real, but the design is out there for someone to turn it into reality. The same goes for any future mockup I upload! If you like it, and want to code it, go for it! I'll help you if you need to know how to do some of the more funky things with Gtk. Only thing is, just let me know that you have done it, so I can advertise it here ;).

QUASAR said...

wow man! keep the good work! i want have a desktop like your mockups =)

Piotr said...

mm, on another note, avn stopped working today. I keep getting these errors :(avant-window-navigator:6622): Wnck-CRITICAL **: wnck_application_get_pid: assertion `WNCK_IS_APPLICATION (app)' failed

This is on todays Feisty, and sadly fglrx/Xgl :( (this is not my machine, oh how i long for my nvidia...)

Neil J. Patel said...

@Piotr: Yeah, this has been fixed in svn now, I had some issues with new launcher to window matching code. Going to have to rethink it.

abhinay said...

hey, which font you are using, the font looks cool !

Ambuj said...

Hello this looks really neat gonna try this stuff.

Ambuj varshney http://linuxondesktop.blogspot.com

Piotr said...

Last question : "Dude, where is my launcher code?" ;] No seriously, i saw your earlier post, that's why i got the newest svn, and even though the new features are nice, the one i was aking for most seems to be missing? Somethings not right... :/

Neil J. Patel said...

piotr: Which feature is missing? I had to change some stuuf, but nothing drastic, so let me know if somethings messed up.

Brennan said...

This looks great. I can't wait for this to come to light.

Also, I'd love to see some ideas for a new login. Preferably something that supports some kind of animated graphics api/widgets. Hell, even the ugly XP login has more effects than GDM.

jake3988 said...

@jake: ATM Affinity is reading the values from Awns gconf settings. When I release avant-them-eengine, it should able to do these effects, or at least it will in the future.


Cool. Thanks! That looks amazing.

Bryce Leo said...

I hate eyecandy, wobbly windows, flaming windows, videos on cubes and all manner of wasted cpu cycles.

HOWEVER

Those desktop markups you have are absolutely amazing looking and will be on my desktop as soon as is possible. This is what I've always wanted from a composite desktop. You rock.

Anonymous said...

Excellent work my man!

Piotr said...

Ah yes, with revision 98 the launchers are back! Yay! Here's food for thought : If i want to create a launcher of an app im running, why not have a "keep in dock" option in the right-click menu? :) Also. rearranging the launchers by d&d would be mighty nice. At any rate this already does the minimum that i want, so yay! Youre my new personal hero, and have ascended in my eyes to the panteon of new-wave gtk-cairo-cool-apps-with-eyecandy coders like MacSlow :) I think im gonna make packages for feisty out of this now. Time to apply for a MOTU.

Anonymous said...

It looks really great, but what's the deal with all the corners being squared-off or blocky? Fully anti-aliased rounded corners are a must.

Francesco said...

It's a figata, man!

MacSlow said...

Ever since Clearlooks and Murrine (and to some extend the SuSE-mockups from earlier 2006) those presented mockups/ideas for gtk-theme-engines are by far the best I've seen! Thumb up! You'll get two thumbs up from me once you implemented them :) I bet people like Richard Stellingwerff, Daniel Borgmann and Cimitan Andrea would help you out putting those ideas into code. I can imagine this to be quite some work for one alone. Most if not all shown drawing-effects and styles should be doable right now with cairo. While UI-toolkit-level effects are still a drag to implement in current with current gtk all you stuff looks very possible to me.

Neil J. Patel said...

Thanks everyone for your comments!
@bryce leo: Lol, I'm glad you like them, although I can't guarentee they wont waste cpu cycles ;), g_timeout_add() is my favourite function!

@piotr: Thats not a bad idea, however it won't work for every app, as sometimes wnck reads the wrong info. Awn would have to make a .desktop file for it. I've added it to TODO, lets see what we can do.

@macslow : Wow! Thanks for the compliments! Its def. a group effort, as soon as I have time to rip open clearlooks, I'll create a project for it so everyone can contribute. I hope with the mockups out there for everyone to see, more people want to join in with the effort!

Piotr said...

I found a bug either with the way awn draws itself or compiz. Have a look at the terminal icon http://img149.imageshack.us/my.php?image=zrzutekranueq8.png

Neil J. Patel said...

@Poitr: Hmm, thats weird. I know that with compiz, when you start up, the bar is behind the icons. But I am not sure why you are getting a white rectangle behind the terminal icon. Does this alway happen?

Piotr said...

Not always, only when im in scale and don't select the window that is under an activated icon <- yes, the unactive icons don't produce this!

Anonymous said...

Beautiful!

Regarding the launcher, what gnome really needs is something ala Quicksilver. Deskbar is too slow to launch any given application quickly.

Abbas said...

drool... i want this now... incredible...

Alberto said...

Yep, the community (read me :)) needs a better version of deskbar!

what about it?

BrokenCrystal said...

Who cares if it resembles Vista or OSX... It looks great! I have never seen Linux look so good. I use Windows at work, OSX at my parents home, and Ubuntu (Beryl) at my home... Who cares if it somewhat resembles one or the other... Linux needs eye-candy. What do we have to loose? It looks fantastic. Keep up the great work! If it looks like a hybrid of the two widely used OSes, that is fine with me. It is still Linux. It will not take away from Linux. It is just another added benefit of using Linux, but with the power, security, and stability that Linux has to offer over the other OSes left intact! Is there any way to sign up on a mailing list to be notified when it's done or a alpha/beta becomes available?

Thank you,

Anonymous said...

some great looking stuff there, look forward to trying it out :)

Anonymous said...

Nice ideas mate!
Font name in affinity screenshots?^^

Max said...

The mockups look amazing, also the Affinity app sounds VERY cool and looks very promising.

Andrea said...

Hi I'm Andrea "Cimi" Cimitan, Murrine, clearlooks etc etc dev...
I've seen you're intentioned to fork murrine to use composited screen... but why don't implement directly in murrine/clearlooks?

I've talked a lot with other gnome devs and we are trying to stop forking clearlooks (same thing is reguarding murrine since won't never enter in gtk-engines due to his fork nature).

If you want to speak with me more about your ideas (i've tried few times to add those effects but i've experienced a lot of issues), you can contact me http://cimi.netsons.org

Anonymous said...

I_LOVE_YOUR_SCREENSHOTS... please can you put it in the gnome mailing list for discussion?

QUASAR said...

check this out http://macslow.thepimp.net/?p=108

The compiz part, maybe this help to do the gtk-engine transparent or somtehing.

Florent Thiery said...

Hi man!

Glad to see great projects such as awm !

You know what? If you let affinity work with beryl alone, with awm we have a complete new system.

THere are tons of people ou there both happy and sad to use beryl: happy, because beryl rocks, and sad because they don't like gnome, kde & xfce.

We need something more similar to fluxbox, for beryl. Your apps look like they would be a great base for this full new desktop.

free ps3 said...

Thanks for the nice post!

Akira Ohgaki said...

Looks great!
I'd like you to achieve this interface design.

Anonymous said...

Did you finish this?