Calendars for netbooks!!

Over the last weekend, I was bored and previous friday I had a talk my with nice mentor Michael on calendars for the netbooks. All that triggered me to spend some time during the weekend on this new stuff.  Basically I just hacked Evolution, to make it possible to write an external calendar application to fit well into a netbook space. Then I wrote some code to reuse that library and create this. Some screenshots below.

It has a very minimal UI. I have a working *lite*  calendar editor for creating/viewing meetings. I haven’t posted the code publicly yet. I would do that in the next week or so, once I get this to a better shape. Currently I can view, create meetings etc,  work/week/month/day views. Support for evo’s plugins/exchange calendars needs to be fixed.  The design approach is same as Anjal. Break Evolution’s calendar to reusable libraries. Don’t depend on any obsolete stuffs. No bonobo etc etc. Im planning to spend a night some time to commit of the patches that Evo needs before it is branched for 3.0. As of now, this is just 2500 lines of code. The UI is very new, and  It might change, once UI guys do a review. But the idea would remain the same.

This gets you Evolution’s calendar (CalDAV/Google, Exchange, Exchange MAPI(2007), webcal, etc etc) support,  very much usable on a netbook. Defaulted to a size 750×500, it can fit well to any good netbook available today. I’m hoping to spend good time on this, very soon, to make it in production quality to the  netbooks segment.

Oh, btw, I haven’t named it yet. Suggestions ? ;-)

23 Comments

  1. Peter Robinson
    Posted August 5, 2009 at 11:45 pm | Permalink

    Very cool! YAY! For naming, is there a way to continue down the anjal naming theme. I like it!

  2. jeff
    Posted August 6, 2009 at 12:22 am | Permalink

    This is absolutely viewtiful. I haven’t yet thought of a nice name. Well, maybe “Smallendar”? :)

    But I still can’t use it, unless it’s completely separate from Evolution’s share of calendar usability bugs (ie: actually support drag and drop and click events correctly)

    Namely, would your application be affected by the following bugs?:

    http://bugzilla.gnome.org/show_bug.cgi?id=328633
    http://bugzilla.gnome.org/show_bug.cgi?id=516943

    If yes, I think you must fix them, no matter what. They completely destroy the experience of using a calendar when you have lots of fluctuating events.

    Also, while we’re on the topic of screen efficiency for netbook, http://bugzilla.gnome.org/show_bug.cgi?id=517598 may become increasingly relevant.

    Still in the netbook vein, this one may be relevant for performance/power consumption reasons:
    http://bugzilla.gnome.org/show_bug.cgi?id=578764

    A lightweight calendaring app that does all those things correctly is sorely needed on the gnome desktop (the only thing I’ve seen coming close is Sunbird. And it is like swatting flies with a nuclear warhead railgun).

  3. baze
    Posted August 6, 2009 at 12:23 am | Permalink

    damn nice. i’ve been waiting for something like this since i’ve been introduced to ical at work on os x!
    maybe you could look into using libjana, which looks a bit nicer than evolution’s calendar widgets. i’m not sure how complete it is though.
    i’m really looking forward to this, great stuff, thanks!

  4. mike
    Posted August 6, 2009 at 12:45 am | Permalink

    Call it “Dates” ;)

    or what about Calendar?

  5. Posted August 6, 2009 at 1:12 am | Permalink

    Hey,

    Very good job!!

    But why make it more complicated? As Mike said, just name it “Calendar”. Why would the user have to learn an extra vocabulary just to know it’s the calendar? Sure, feel free to use a codename, like “Dates” or, something abstract – and use that name for development and not to confuse it with other calendar apps. But for the end user, just keep it simple – Calendar. Especially since it’s for a netbook, simplicity is important: think about all the new Linux/Gnome users who just switched from Windows. They’re gonna be scared if they get buried under an avalanche of meaningless (for them) names for simple programs. Just like the “Eye of Gnome” is aliased to “Image Viewer”, do the same here. Have two names, one for dev and the pros, and “Calendar” for the average Joe.

    Furthermore, as much as i REALLY LIKE how your mockup/design looks – let’s be honest: look at screenshot #2. You can barely read the first three letters of the actual NAME of the event. The time and reminder icon are taking up most of the space. Really? Are you gonna copy this from all the old-school calendars out there? Why not be the leading power and invent something more user-friendly.

    For example, and the emphasis is on EXAMPLE: We’re obviously working here on limited space. Therefore, don’t waste the 10 or something pixels every time on the left side of a “day”, but make the time (e.g. 4:30pm) start almost totally on the left side (of course while still making it look good). Then, drop the “m”!! Just as Google did with their calendar, make it 4:30p or 4:30a, saving one character EVERY TIME!

    Then, drop the reminder icon. Let the user know in a different way that he has set a reminder for that particular event, don’t waste almost 1/3 of the whole line just for an icon that’s in almost every event!

    Then, allow events to use more than a line. If there is only one event on a particular day, why not let it use the complete “day-box” if it has a long name? Always try to fill up a complete day-box instead of cutting of events. Now if you HAVE to cut an event, let’s add this little eye-candy: fade the text out a little instead of just cutting it off like that.

    Also think about making e.g. the time light gray and leave the text/description black – would make it look cooler plus adding readability.

    Then, I just realized, in screenshot #1, look at the “Some test meeting” event. Don’t you think it would be better if the “5:50″ would be white? Try to create an algorithm that makes the text color lighter – or darker – based on the background color.

    It’s always just these little things that add up and make software top or flop. You’re writing an application for netbooks, the latest fashion when it comes to functionality with limited resources – in form of processors, RAMs and HDDs, but also displays. We have to cope with the little screen, so let’s try to make the best out of it!

    Contact me if you need help with something. Thanks.

  6. bochecha
    Posted August 6, 2009 at 1:34 am | Permalink

    That looks great!

    How about « cality » ? (a quality calendar)

    Actually, with Anjal and now this, it looks like the days of the Evolution UI are counted (and not only on netbooks) :D

  7. dherman
    Posted August 6, 2009 at 2:39 am | Permalink

    NiceDay, or gniceDay
    Anyway a promissing looking application

  8. Simon
    Posted August 6, 2009 at 3:14 am | Permalink

    Looks good… much better suited to netbook screens than standard Evolution.

    I do agree with Jakub’s comments though – entries in the month view are very crowded. I’d move the reminder icon into some kind of on-hover panel, where there’s room for a little extra info. As far as AM/PM indicators are concerned, I’d prefer 24-hr time anyway, which takes up a bit less space already.

  9. Posted August 6, 2009 at 3:54 am | Permalink

    Wow, nice work! Well, that pretty much kills any inclination I had to write Dates 2 :) May I suggest ‘Better than Dates’ as a name? Seriously though, I like ‘Calendar’ as a name…

  10. Jones Lee
    Posted August 6, 2009 at 5:02 am | Permalink

    Great job, just wondering if the Evolution merge the Bonono-free branch, would your app affected?

  11. Martin
    Posted August 6, 2009 at 5:29 am | Permalink

    That looks great! But why not adjust the default size to work on the 7″ Eee?

    I am fully aware that the netbooks have moved away from the original 800×480 resolution of the Eee 700 series, but your default size of 750×500 seems to be close enough to justify a adjustment.

    Tablets, MIDs, and smart phones are devices that might be using the lower 800×480 resolution. Nokia tablets such as N810, Eee 700 series, and the MID platforms are examples of such devices.

  12. Posted August 6, 2009 at 5:45 am | Permalink

    I need this baby! This would be awesome for zeitgeist! Contact me as soon as you got time! As for a name call it something sexy or catchy “Mica” (Made in India Calendar)
    but since its so hot i would call it FOXY :P

  13. John Doe
    Posted August 6, 2009 at 9:10 am | Permalink

    There is already an application called “Dates” and is very similar to this one. Take a look here: http://www.pimlico-project.org/dates.html

  14. Nikanth
    Posted August 6, 2009 at 9:51 am | Permalink

    Nice work. Hope that you get bored more often.

    It would be nice if you could make a video showing the difference between using stock-evolution on netbook and anjal+this-unnamed-calendar on netbook. It would be really cool similar to those videos comparing PS3 and Wii versions of a game. :)

  15. Robert Smol
    Posted August 6, 2009 at 10:30 am | Permalink

    And just do not forget to include Week numbers! Thank you

  16. Eric
    Posted August 6, 2009 at 12:10 pm | Permalink

    One thing that I think could use improvement for Evolution is the color of each appointment and the gradients they use. I think a good place to start would be to just use the color palate that are used for the Tango Project at http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines . Good job though!

  17. Posted August 6, 2009 at 7:10 pm | Permalink

    That looks smug!
    I want that to run on my N810! :-)

    Can anyone maemo-fy this, p-leeeeaaaaaase?

  18. Posted August 9, 2009 at 11:37 am | Permalink

    Jeff: I should be looking at those surely.

    Baze: I have seen a bit of jana widgets. But currently, my first goal is to get a Evoluion’s calendar to be a usable thing on Netbooks, then enhance it with various things, like Jana, Clutter, etc.

    Jacub/Simon: Very valid point. Thanks, I will look at those, once I have a base project up and running. Right that even the small icon space make huge difference on the netbook screen.

    Jones Lee: A bit yes, but I merge my code with Evo, and adjust them accordingly. It hardly should be a day/two effort to get it up with Bonobo-less Evo. Btw, I dont depend on the bonobo interface, instead make use of the widgets directly, so I should be harly affected by it.

    Martin: I just default to 750×500, but It can be shrunk even smaller, the look and feel remains the same.

    John Doe, Im fully aware of Dates. But its good, but lacks quite a lot things, and duplicates a bit of Evolution’s calendar. One of may main goal is to have as less dupes as possible and strive all the energy towards one goal. IMHO Its very important for the success for GNOME.

    Eric: Those colors are user chosen colors. But I can give the Tango! palette for the user to choose. Sure.

    All: Thanks a lot for the encouragement and feedback. I would get back here with more updates. Thanks again everyone.

  19. Rob
    Posted August 12, 2009 at 8:12 am | Permalink

    I also would like to see this working for the maemo platform (Nokia Internet Tablet), which has a screen resolution of 800×480.

  20. Posted August 14, 2009 at 10:13 pm | Permalink

    Nice stuff!

    I am heartily encouraged that your thinking about small screens.

    Today I posted about how Mozilla and Thunderbird appear to be going the wrong way with a message pane header that consumes 137px of vertical screen space. When you only have 600 in total that is a disaster.

    http://www.theopensourcerer.com/2009/08/14/thunderbird-3-on-a-netbook/

    Keep it up!

  21. Posted August 26, 2009 at 4:18 am | Permalink

    Hello,

    I had news about this by the pimlico mailing list.

    Great job thanks for doing it ! That’s the sort of calendar many people including myself have been awaiting for. I hope to see it in my distribution as soon as you will have published it.

  22. William
    Posted September 26, 2009 at 9:07 pm | Permalink

    Wow this looks supercool. Right now I use pimlico-dates as my gnome desktop calender, but this project also looks nice. I hope this is a small step towards splitting evolution up in small applications.

    BTW: I think that some of Jakubs ideas would help the original evolution-calendar as well.

  23. Minter
    Posted October 23, 2009 at 9:24 am | Permalink

    Srini,
    Great work!

    Observations:
    1. Calendar as well as journal and notes should be part of the same program or at least be interconnected (i.e. task->email contact->appointment email->task journal->e-mail)

    2. FULL-SCREEN button is a MUST!!! for text entry and calendar/task viewing

    3. Maemo port is a MUST!!!

4 Trackbacks

  1. […] calendar interface, as shown off on his blog, makes use of the entire screen for the calendar view. It features a handy upper […]

  2. […] calendar interface, as shown off on his blog, makes use of the entire screen for the calendar view. It features a handy upper […]

  3. […] Friedman wrote about the desktop now that exciting new things are being done, even with sub-notebooks and appliances in mind. Mirrors for OpenSUSE-Education are shared publicly and KDE 4.3 is coming to […]

  4. […] calendar interface, as shown off on his blog, makes use of the entire screen for the calendar view. It features a handy upper […]