What Would Your Dream Calendar Program Look Like?
srl sends in this query: "I'm on a project team for Reefknot, which is building an open-source/free shared calendar server. This is not a replacement for Evolution; this is a server that any iCal-capable client can talk to, to do group scheduling and event planning. It may also include project-management features. In short, we want people to have a free alternative to MS Exchange's calendaring features. We are in the pre-alpha design stages, and we want input from end users of calendar software. This might be you, it's definitely your boss. So, we want to know: What does your enterprise calendaring software do that you like? What do you hate about it? Why? What features should we implement to be competitive with existing commercial software?" We've recently talked about Exchange, and calendaring functionality is one of the reasons that it keeps finding its way into the enterprise. If you've ever wanted an alternative, now is your chance to speak up.
Could someone be so kind to explain what is an iCal capable client ?
When I use various calendar program, it often irks me that the calendar program needs to be running for the alerts to be displayed.
It would be nice to have a calendar program that would use cron (which is a daemon to execute scheduled commands) as a backend for triggering scheduled alerts. The concept could be expanded further by making the calendar program useful as a nice graphical application for scheduling system administration tasks.
- Rolf W.
This is baffling - the number of clients who we have seen happy with Exchange are far outweighed by those seriously pissed off with it. Some of our biggest deals this year have been hacking out stacks of this MS junk and popping in AS/400's with real enterprise levl software.
Exchange just DOES NOT SCALE!!!
In other interesting news, Microsoft themselves had to replace W2000 and Exchange with a high end AS/400. Hee hee hee.
Frog51
I would like to see my personal calander automatically update dates that I set to be reocurring... Ala birthdays aniversaries or tax time. this saves a whole bunch of time manually updating those important events that I would otherwise (and most of the time) forget...
DJD
If you present me with a rich meal I will be able to tell your future from it. Really
Gone but not... ummm
I think that Ecco was purchased by Novell and turned into InfoCentral for PerfectOffice 3.0. Certainly InfoCentral had the same idea: it had an incredibly powerful relational database that allowed you to tie any entry in the database to anything else, essentially allowing you to add new functionality merely by tying things together. (One of the demos that came with InfoCentral, in fact, was a family tree--not exactly something which your average PIM can handle.) I liked InfoCentral so much that for quite awhile I kept a copy of Windows 3.1 running emulated on my Mac just to use InfoCentral, until finally I gave up and switched to Claris Organizer. But for those of you with PerfectOffice 3.0 (and possibly with Corel Office, although I have no idea if they still use that PIM), I strongly recommend you check it out. If you wrote your PIM in the style of Ecco and InfoCentral, I think you'd be able to make a name for yourself not only in free software circles, but if done correctly, then in the business world at large as well.
I recall being able to download schedule databases for MS Schedule 95, so you could get one that covered holidays in the U.S., Japan, various European countries, Saudi Arabia, etc. So perhaps making an object for a holidy, and then allowing an imported file to contain holiday objects is a good solution.
All these individual elements of free software work great, in my experience, but the problem has always been that no one sits down and puts together and end to end solution. It's all well and good reading on the SAMBA mailing list that you can tie it's password lookup into a kerberos box, or an LDAP box, but the thing that would start the avalanche is being able to buy, for example, RedHat PDC/LDAP/Sendmail/Apache/PHP all tied together with a single account database and all the "glue" work done. Now *that* would be something. Heck, you could even tie in your desktops and have a viable desktop alternative to Windows, Mac etc. depending on your apps.
(and yes, i tried vmware, but had a *horrifying* experience with the combination of it and redhat 6... never again...)
My other car is a cons.
The Citadel/UX project is slowly but surely moving towards becoming an Exchange-killer in more ways than one. It's a very extensive, modular system, originally targeted at BBS applications but being built up as a general purpose groupware platform. Currently the developers are working on getting IMAP support in place, but calendaring is next. With a robust data store already there, calendaring will be well supported.
It can already do SMTP and POP3 natively (i.e. you don't have to plug it into Sendmail to make it work on the Internet). The iCalendar protocols will be built-in in a similar way.
--
Tired of FB/Google censorship? Visit UNCENSORED!
**Accepts Outlook 2000 as a client on Windows**
I'm a Linux fanatic, but the above is the *only*
way anything new sneak into my company. The
exchange web interface could use a lot of improvement.
I've spent a considerable amount of time (under salary :-) thinking about how to represent timed events, and how to deal with the relationships between different schedules, and finally how to implement different kinds of services that work with that information. For whatever it's worth, what I decided was that just about everything can be reduced to the basic building block of an event cycle definition.
The ideas I had came from thinking about the ways audio synthesis works, or how similar systems like texture synthesis (KPT Bryce et al). If you think about it, basic event cycles (i.e., your bi-weekly staff meetings) are like waveforms. If you can describe your staff meeting as a waveform and capture that in a way that you can perform arithmetic between waveforms, then you can glue the building blocks together and capture a very rich variety of scheduling expressions. Using a consistent algebraic system makes it possible to implement all sorts of semantics (searching for coincident points on various different schedules, "masking" operations for holidays or other policies, and so on).
With an infrastructure like that, it'd be possible to put together a bunch of different kinds of clients that performed different kinds of scheduling. For example, there's no reason why the same system couldn't handle the tracking of scheduled IT operations as well as personal business schedules of employees.
Just a thought.
I'm very very right-brained. I want to see my calendar in lots of beautiful colors! Can you do that, or at least make it an option? Here is how I imagine the problem of finding a time that works for a group of people:
Imagine that each person's schedule is made out of colored Saran wrap. For example, if I am free Monday 1-5PM, then I have a red patch over those times. Everyone has different colors for their free time. Then to find out when they are available, you just put all the "pages" on top of each other and see where all the colors overlap.
This would help visual people greatly! You could spot all kind of partial matches just by color, quickly. For example, if a Yellow and Blue person overlap on a time, the overlapped region would be green. Times where most people could go would probably be sort of brownish, and places where everyone could go would be black. (If I understand the general idea of the color spectrum filters right.)
My request is: Make it Colorful!
shane2020@hotmail.com
Instead of providing the requested features which should be incorporated into this project - we have an insane Exchange sux vs Exchange is great debate! Having moderators bump this stuff up is even more crazy!
With that off my chest, let me proceed to actually answer the original post's call:
Sounds like you are already planning the most common group scheduling/calendar functionality. Basic email is a given as well. So that leaves the fine points to consider...
1) Consistency in and completion of the user and Admin interfaces - This is a priority, I've used/admin'd Exchange, Groupwise, Netscape Mail+Calendar+LDAP, and Notes. The huge weakness in the Netscape solution was interface. Simple adding of users was a nightmare since they had to be individually added to each component. We used a shell script to perform Unix, email, and LDAP account additions, then manually added the LDAP account to the Calendar program. All command line add/modify/delete utils used different syntax - so the script was ugly as Hell! When I left that company, I had just started incorporating the Calendar account in the script... UGH!
2) Stick with Standards! If a standard protocol or some such is lacking a needed feature, please document and submit the change to that standards body. Don't invent your own and keep it proprietary. That's MS's job.
3) Write your own client - and perform End-User Usability tests (with real PHB types). It's great that umteen different clients can connect and use all/some of it's features; but for a Corporate requirement, you need a full feature, easy enough for the executive admin to use client. This is the achilles heel of too many Open Source projects. You really need a 58+ year old "secretary" type to evaluate the client functionality, otherwise his/her boss is never consider it as a viable solution.
4) Some form of Disaster Recover functionality. Be it via hooks to 3rd party mirroring/clustering solutions, or integrated DR processes. Relying on backups of email systems when they exceed *GB of disk storage is unacceptable. In large-scale environments, some data redundancy is needed in case of corruption.
5) Finally, SNMP based management and traps. Again, in any moderately large environment you will find some form of SNMP based operations monitoring. I've used NetView, OpenView, and Managewise. You have to provide standard MIBS for these platforms and try to integrate as much operational monitoring as you can.
That's all I can think up at the moment. Too bad so much of this discussion went awry. I hope I, at least, was able to offer some valued suggestions.
I AM, therefore I THINK!
Wow, those are some great ideas. :)
I've allways wondered why calendar programs were not 'connectionless'.
An open API is a great idea too, but I'd be nervous about using a system with an open API with a calendar program. There's allways bugs and I could see that loud, ugly chick in the cubicle beside me ending up with some meetings across town for a few days one morning
A connectionless, open API web based calendar would really shake things up for exchange though!
rejected (19) accepted (0)
Is there a psychological term related to getting your stories rejected on slashdot?
I think LAN support would be kewl as well. I have a 10 System LAN at home with my roomie's. Having straight support for LAN and a Windows client would be very much appreciated. Kleedrac
Sure we wang, can.
A number of calendar applications I've used over the years allow you to add notes to events on the calendar. On occasion, that's become good enough to serve as a basic journal, helping me keep track of what I thought of various meetings, etc.
It would be nice to be able to link those notes together by searching for similar terms, searching through repeating events, etc. and compiling them into extended text documents, separated by date:time markers.
Just a wistful thought,
Larsal
yeah it is under heavy development and costs a hefty price. I am not against pay/for software, but I am not about to pay for software that doesn't work right out of the box and is under development.
.02
It seemes like an excellent program, it just isn't worth $ right now.
Just my worthless
I'd like to add both my company's holiday list and that of my wife's company, with annotations so I know which are whose. And if the company didn't supply a file, I should be able to build the lists and email them to my wife. As this is an iCal app, that capability is undoubtedly there.
The geographically dispersed calendar servers should be able to communicate with each other for the occassions that someone in Paris is arranging a meeting in New York with people from the Chicago and San Francisco locations.
Notifications of events, appointments, etc., should be able to be done from the server, not from clients. That is, the server triggers events on clients (PDA's, pagers, some random unmapped X application). The notification mechanism should allow for local plugins to be provided. Shared library plugins are great, but one should allow for simply calling a shell script too.
Time zones should be handled gracefully. Do not assume that all users are in the same timezone. Assume that when people travel, some change their watch and some don't. (Allow for temporary time zones for individuals?)
Don't require that the calendar gets each users' info added into its own database. Be able to interface with directory services such as LDAP, and X.500. Notes, NDS and ActiveDirectory support would be great, but should be secondary to open directory protocols, since the proprietary ones tend to be able to provide the same data through LDAP gateways.
Allow for clustering for high-availability and load balancing.
Provide an NDMP (network data management protocol) (see www.ndmp.org for details) interface so that enterprise backup systems can back the calendar server up, while it is online.
If an external database is used, abstract it so that the database preferred by the installer can be used. MySQL is a hard sell at a shop that runs Oracle on E10k's.
Authentication via PAM
Limited trust relationships that allow collaboration between different companies.
Of course it would need to work under Linux.
I'd need to be able to easily sync it with my palm pilot.
It would need audio reminders.
It would need to be able to interface with with my address book (netscape or evolution).
I'd need to be able to check to make sure that others were not busy and check their schedules as well. Similar to that of MS schedule.
I'd need to be able to schedule appointments with those using Outlook as well.
Basically what I'd need would be Outlook functionality on Linux. Thus I would not need a windows box anymore. Okay now it is not that I hate using windows, it is just that there are some things that are easier to do under Linux for me. I do lots of server side development and our servers are linux and solaris and BSD. So rather than sshing into the servers I have a linux box at work that I do my devlopment on then I port to the other 2 UNIXes. To do this development on windows is not possible as the porting is much more complicated. (Think apache modules, perl, php). I have a windows box that sits so I can check my email and check somepages in explorer when I need to. To have that functionality on Linux I'd never use windows.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
What's wrong with post-it notes and a pen?
Don't do that. Differentiate between local and global time.
I put server in parentheses because servers usually require cgi or jsp, or something equivalent. We are making a prototype using JSP, however, this is difficult for the layperson to set up. A much more useful calendar would be updated via applet which copys itself via an ftp connection, and which is updateable in this fashion, while being viewable using javascript. Extesibility could easily be maintained via Javabeans. Make each event a bean, and then if you ever feel like it, you could connect those to databases, or whatever, and could easily change the javascript output they produce.
I think that pretty much covers everything a calendar should do.
Mod me down and I will become more powerful than you can possibly imagine!
Isn't that what HTML was supposed to be like? *g*.
Of course, someone builds something like this, and the first thing they're going to whinge about is the lack the system's ability to set the colour of your fonts.... *sigh*
--
There should be a read-only login so groups can present their schedule to interested parties without giving them access to change the calendar and without requiring every member to have a personal login.
I want to be able to tell it to send event notifications to my pager's email address and not my actual email address, without having to set up some sort of forwarding of the email on another server or via my email client.
This will allow me to always show up for meetings and such without actually having to input all of the data into my pager.
I also want to be able to tell it to ignore all events posted by certain people who have the ability (And gall.) to invite me to events that I will not actually attend.
XML is rather new, but with the right tools it is dead easy to parse. SAX for java and C++ is very powerful. And yes it is now available for perl Sax for Perl. Once you go beyond simple tab delimetered flat files or relational databases XML becomes very useful.
1. Ability to change font and/or background color of each event.
2. Ability to delete one occurrence of repeating appointment, without disturbing future occurrences. Possibly an e-mail reminder that the event for that day was cancelled.
2. Ability to print a professional looking page for notebook or planner, in month or week view, with all days the same size.
And from myself, I want to see a good integration of to-do list management into the calendar server. To-do's should be stored with discrete attributes for both importance and urgency, not just a generic priority. Also, an optional target date and/or hard-deadline date, intelligent status-change paths with event/notification triggers (send email to specific addresses whenever a task of type q moves from status b to c or urgency d to e).
Sounds like a great project, hope you are successful.
Nonononono.
;^)
Keep the paperclips. Add support for console lightgun hardware.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
Palm Synchronization is very important to a Palm enabled work force.
Other useful items would include, not just free/busy search, but the ability to see multiple calendars side-by-side. This is really useful for scheduling service work for customers as you can see at a glance how quickly you might be able to get somebody on site.
For places such as law firms, date math and linked entries are a requirement. They need to be able to do things like schedule dates 30/45/60/90 days from today (either including or excluding weekends and holidays). They also need to link several dates together, so if some base date changes all linked dates change also.
Stand Fast,
Stand Fast,
tjg.
http://sourceforge.net/projects/reefknot/
Ability to be imported to or exported from my visor.
ability to have a moduling system for additional features. prog would prompt you to see if you wanted to download additional features.
allow to make parts of your data visible to people. ex. your home phone, other busisness's you usually call. in case your out and somone needed to get in touch with one of your customers or somthing.
yeah, i think that's it, oh and it should make me coffee.
---
pack
1337
As well as native and web interfaces, a Java interface would be a nice idea. Gives the extra flexibility over a web interface in terms of how the UI works, but also allows it to run on platforms that don't have a native front-end implementation.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
Hello,
@work we use http://www.skyrix.com/ , OK it's not OSS, neither free, it uses apache, it's an DSO apache module, but has all a corporate calendar needs, even hot sync with a palm, win only in the moment IMHO, but everything else you can use with just a browser on every OS.
It gets better with every version and uses sql92 (frontbase) to store the data. You get a working demo with every SuSE distribution, or can download it at their site. Would be nice to have something like this as OSS. I don't work for them. I just admin a bunch of linux servers and one of them is our skyrix server. Last upgrade was a bit tricky, but now it just runs. We don't want no stinking Outlook in our LAN, and this gives us the ability to provide the group features our customer demand, without using M$ server...:-)
It should be a lot easier to build something like this based on things that just work, like apache & mysql, then starting from scratch.
Michael
Probably the best thing would be to make it a real groupware program, where you could publish/share just about everything......
It's either on the beat or off the beat, it's that easy.
I moderate therefore I rule!
--
Please don't make some huge monolithic copy of a huge monolithic microsoft product; if you want to do two tasks, make two tools with well-defined interfaces. Don't just integrate calendaring and e-mail so that anyone who wants to use your calendar service has to use your e-mail too. The power of Unix is small tools that talk to each other. If you want your database to interact with Exchange clients, write a separate backend rather than constraining the whole project to deal with microsoft's structure.
Please don't reinvent the wheel. Use standards (like LDAP for a contact database, for instance).
http://sourecforge.net/projects/reefkn ot/
Why aren't you encrypting your e-mail?
Due to the fact that there will be migration issues, and other issues, I would assume that the "early adopters" of software like this would be techies who want to work fully in a Unix/Linux/BSD/whatever environment -- then it could be rolled out for other users when the following criteria are met:
Other niceties that would help get its foot-in-the-door would be: There's probably a lot more, but just typing out those sounds like a ton of work. These few are just some that pop out of my head on a quick analysis. There's probably a lot more. Good luck on your project, looking forward to playing with it someday!+++OK ATH
i'm a fan of wasting time on web bulletin boards.. but the reload/reload/reload/reload interface kinda sucks.
i'd like a web board that had an optional client side program that could show threads popping up in real time and let you expand/collapse or change views (ubb style vs. nested).. download all messages from last visit to current.. allow you to post publicly or to one person. etc..
it would blur the distinction between instant messaging/chat/e-mail quite nicely.
well, the calendaring would be secondary to the messaging, but for organizing a project on-line.. I think the flexibility would be useful.
A few things I can think of:
For multiple servers to share calendars. My boss has the problem that with his two email accounts in two different offices, then calendars don't schedule correctly with each other, so he opten gets double booked.
One problem with exchange is that a calendar appointment isn't booked with someone until they open the mail with the calendar appointment. It's the same with tasks. (Note: a good way to avoid tasks and meetings, don't open them!)
I suppose the main think, is to look at *all* of the functionality of outlook and replicate that. Thta's what the PHB will look at. They don't care that's it implemented in C++ with funky data structures. They care about the user interface because that's *all* they see.
That's all I can think of for now.
-- Huh, what?
Another time related function of the client...
A while back I had a DEC UNix box that had a calendar program. It's sharing features were cool, but the one thing that I really liked was that when you had it in single-day mode, the time portion of the window actually scrolled with the time-of day. i.e., if you opened the program at noon, 11:am would be at the top, and the current time would have the focus. It was nice not to have to scroll down to the current time.
Some people probably wouldn't like this, so it would have to be selectable as an option.
This is an ex-parrot!
Note that this is independent of all the spiffy GUI features others are asking for.
Apologies for the incoherence of this post. This was going to be my one final quick skim of /. before bed. Geez, it's 3:00 a.m. here.
John.
1st and most important, it /must/ have a graphical interface. It doesn't matter how reliable, scalable, or enterprise ready it is, if it isn't easy to use. You don't have to send any graphical data over the network, just have a GUI interface.
2nd, it must be intuitive. One of the biggest mistakes most programmers make is making programs that are intuitive for programmers. Design the interface with the CEO in mind. He doesn't know a damn thing about technology, and doesn't want to.
3rd, you have to have a central database that is resistant to corruption. There can be corruption issues with opportunistic file locking (enabled by default on windows, disabled by default on novell), or virus scanning (particuraly heuristic) programs that are allowed to touch the central database.
4th, is version control. One way to do this would be to set up a version counter that is incremented on the servers (never clients) time. This should also check to make sure that incoming requests are coming from machines with the correct date. This may sound unlikely, but it is decently common. If the date is off, you need to send a clear message declining their ability to use the calender and why.
5th, is widespread availability. If you truly want a replacement for MS's calendering functionality, you've got to make sure that you have a client that is available for Win95 and up. Even though Redmond is selling W2K and WME, corporations are still predominantly going to run 95 or NT 4. I would certainly encourage a Linux and Mac client as well. If you can, wait to release all clients at the same time. Many people will only evaluate a product when it comes out. If they see that they can only use this on some desktops, they aren't going to be checking again in a month to see if you added an Solaris client.
6th, make sure it uses TCP/IP. This may not be the most efficient protocol, but it is the most widespread. Your going to have a very hard time convincing almost any administrator to implement anything else.
7th, make sure it generates a small impact to network traffic. Don't upload or download redundant or unrelated data. There is no reason someone in marketing needs to know that the helpdesk is going to have a barbeque. The perception of speed is going to be based on this. If users have to download large files, this will have an impact.
8th, make sure this ties with MS email clients. The people you are trying to get to use this are going to use exchange, outlook express or outlook. If something is scheduled for someone, tying this is the central address book on the exchange server to notify those involved is important. Likewise, try to cull data from the global address books on the exchange server (and PAB of the client) for your database of users. This can avoid having multiple redundant databases which can be hard to sync. This also allows people to add people to meetings etc with the same naming conventions that they have already learned.
9th, syncing with remote clients. If a remote client isn't able to connect to the network, they shouldn't be able to schedule anything for anyone else than themselves. Also, and very important, if someone is dialing into the network, allow them to decline updating their calender. This can save very valuable time when connecting to the network for other things (like a server going down). It would also help to build in support for Palm Pilots along these same lines.
10th, is to avoid arrogance. You may be highly skilled programmers, with a wonderful open source product. But if the guy who has to implement this isn't familiar with Unix (remember this is intended to be a replacement for MS products), or feels the documentation (or lack thereof) is talking down to him over this, he won't be able, or want to use it. Assuming that the only competent network admins are *nix users is probably one of the biggest turn-offs to open source software in the corporate world.
11th, make sure this can be remotely configured. A good way to make sure it can be configured regardless of client ws OS is to give it a html interface.
I don't mean to be inflammatory but the first thing you might want to consider changing is the name of the project. This tool will be most valuable to managers as has been pointed out. I don't know if a vaguely drug-related name will go over very well. The first thing you have to lose as a manager is your sense of humor. (-:
The Palm handheld device is extremely popular, but when you look at how the calendar works, it seems very simple. Maybe that's what people want: A calendar system they can understand.
The way Palm compresses a day view when the Windows is little is very good.
Personally, when I have added some recurring appointments in Outlook, removed some of them again etc., then I would very much like to have an overview of which appointments that were removed...
If you categorize the calendar entries, it would be nice if one could print a calendar with only specific categories on it.
A common calendar for the company, that you can blend directly into your own calendar would be extremely good. I hate to switch to multi-user view to find out, that there is a company wide meeting the same day I made an appointment.
It should be easy to add one or more unattended accounts for resource allocation, like meeting rooms, and there should be a log for that account, showing who adds and who deletes which allocations.
Would it be possible implementing compability layers for Outlook and Notes?
And please don't send invitation to meetings by mail... (Keep mail separated from calendar issues if possible).
chris@iso[2][02:49pm][6]:~:$ cal November 2000 S M Tu W Th F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
One of the advantages of Outlook and Office, is that I can integrate them with each other. I use an access database to track our Test Equipment. One of the many items the database tracks is "Date Due Calibration". Access interfaces with Outlook to ensure the proper people are notified when to take there test equipment in for Calibration. For the open source version this kind of interface would best be done in XML. Access/Outlook use Visual Basic for this interface, so for compatibility you may have to add a VBS module
Some days I get the sinking feeling Orwell was an optimist.
A great set of requirements with which I would almost entirely agree. Here are a couple more musts for me 10) Synchonise with PDA (in my case Palm Pilot) locally (I also run a laptop) 11) Allow my secretary to arrange meetings on my behalf (she will typically be doing this between a group of about 5 of us - it needs to be dead easy for her to manage multiple calanders at the same time) 12) Ability to manage time zone changes gracefully. (let me explain). If I am on a trip to the US from the UK, I switch to US time in my mind, but I don't go into windows and change my time zone. Nevertheless I want (on my laptop and my PDA) to see meetings at the time in my mind. My secretary back in the UK must also see my calender and understand both the "real" time (in case these meetings are teleconferences with people in other parts of the world) and my "mind" time (so she doesn't schedule a meeting when I would rather be asleep)
I believe that one of the major driving forces behind the move to Exchange (2000)and other W2K subsystems (SQL-Server, IIS, SMS, etc.) is ease of administration, on the system level. Exchange 2000 requires the implementation of W2K's AD, to which many companies are moving for their server platforms. AD provides the "synergy" (god, I hate that word!). Admins don't need to take care of user/group/rights definitions in several different places (passwd, some obscure LDAP setup for the calendar, etc.), only in one - integrated - system, the AD. Notes provides equal or better calendaring, iCal systems probably do, too, Oracle and DB2 are great RDBMS's, and Apache is arguably the best web server -- but the multiple administration can be a pain in the ass. What we need is a standardized LDAP-based user/group/resource-information repository for Linux, that comes as a predefined component in the Distros, with a clearly defined extension mechanism/API, that can be our version of AD. Most important, it needs to be as "easy" to setup and understand as AD. And we need some apps that use it. Until we get this, its gonna be tough to penetrate the domain of W2K.
It seems to me that the "scratching an itch" approach on this problem is just like scratching an itch. It treats the symptom and not the disease, which can be a bad solution, as anyone who has had the chicken-pox can attest.
Steve -- If you have to call it a system, you don't know what it is.
I'm currently working on a php based "homeware" application and have been trying to decide how I want to do the calendar, I can write my own, use a calendar server or borrow one from another package. I'm currently leading toward writing my own because the current programs don't offer the extensibility that I need. The application is going to include financial software and a few others that require use of a calendar, rather than write a separate scheduling program for each, I'd like a calendar that is extensible, so that I can write my own applications for what to do when an event occurs. even if it's something as simple as running a command line. Other than that, here are my basic calendar requirements.
being able to set who can view my calendar, I think three levels would suffice, public, private, secretary.
automated scheduling
event timers that include pager or cell phone( could be part of the extensibility)
I know there is more, but that is all I can think of
It's the 21st Century Do you know what your government is doing
Dude, its GNU software, its FREE. Licensed under GPLv2 for you to copy/modify/distribute and so forth.
Smooth integration of all time functions without dumb limitations...
It has to do all the screwed up implementations of DST and interoperate between them.
http://www.timeanddate.com/time/ds t20 00b.html
It also has to be able to handle situations where people's days vary, in a variable way... For example... I'm in North America, somebody looks at my calendar and wants to book a conference with me in Europe. I should be able to indicate that I will be working from 9-5 in a different time zone for that particular week. It should not tell them they cannot book because I am not working those hours.
Another useful feature might be to see meetings from the perspectives of all the people involved. International teleconferencing needs this sort of thing... to be able to see that you're booking at 4:00pm in Germany while it's noon in New York.
(I think... I'll have to check my calendar on that one)
There are some *huge* problems with it. For instance, if you send a meeting request to a person who has marked themselves as 'Out of Office', and they have made 'Everybody' a delegate, then everybody gets the meeting request.
And that's the worst problem I can think of. [Having worked with Exchange/Outlook for five years I think that's quite impressive]
Question: How can a bunch of students hope to create a better system than one that 2,000 professional software engineers spent ten years building?
Now, let's assume they do it. "Here is a better mail/news/groupware/calendar application then Exchange/Lotus Notes/". How many tens of million dollars have you got to promote it with? [If it's less than $100 million, go home now).
I am sorry. Free software is now, and always will be, utter shite when it comes to developing "business desktop" software. Simple reason - a person costs $75,000 to hire, so $2,000 a year per employee is chump change.
The place for free software is in the *server* arena. It's already winning there. No, I lie, It's already won. Most Sun Starfires have gcc, *very* few have Sun's CC.
I burble, I am drunk again.
Trying to reproduce excellent software like M$ Exchange and M$ Outlook is futile. Roll with the punches, and get accepted as an IETF engineer. IETF engineers (yes, I know there is no such thing...) build things that matter.
But, for the sake of Eris DO SOMETHING ORIGINAL.
Quit following, and start leading. Or grow up. It's your fucking choice.
For a nicer language to work with, I think Java would be better.
Somehow a scripting language seems slightly inappropriate.
But if you're going that route you may as well help out phpgroupware.org ($0.02)
There's also MCAL - Modular Calendar Access Library
How about if it atomatically accessed a personal database and filled in all the birthdays of friends and family that i forget about each year? It might be nice if it could remind me to take my pill.
flinging poop since 1969
Most of my desires have already been mentioned except for this: cvs integration. Most of the big "enterprise" (cough, hack... I said "enterprise") software I've been looking at doesn't provide a nice way to share and update documents. In particular, it would be nice to be able to tie check-ins to message boards, email lists, schedules, etc... This isn't just for source code, this is for any document that must be maintained, be it documentation, source code, or html.
For example, if the document that describes our testing strategy has changed, the entire testing team as well as the developers need to be notified. This would provide the ulimate method for finding errors or miscommunicated information.
I suppose I'm not too threatening, presently, but wait till I start Nautilus
> ability to send reminders to wherever you are logged on, e-mail, pager, cell-phone...
.wav file. Simply play the .wav file and the telephone's voice mail picks it up.
Perhaps a text to audio plugin for telephones. I think it would be sweet if you could have a modem dial somebody's cell phone, and have a computer translate ASCII to something like a
I'm sure I could find a lot of other uses for something that could convert text to audio. Like maybe a program that converts slashdot.org text to audio, and burns it out to a CDRW for me to listen to on the drive home.
I know I may get moderated down for this one, but how about a map option?
Sometimes I have meetings in other cities, and maybe it would be possible to write some PERL that would take my orgin/destination, and plug it into some online database such as MapQuest.
Probably a dumb idea, but I doubt it would be difficult to code.
Highly important feature: September of 1752 must be correctly displayed!
---
The Hotmail addres is my decoy account. I read it approximately once per year.
I applaud your initiative, because an open source calendar server is badly needed.
At the university where I work we made our own Web based calendar to temporarily fill the gap. This works surprisingly well with a fairly basic set of features, but we really miss the ability to synchronize with different devices.
I realize that this may be more of a client issue, but something like the facility that Yahoo provides for synchronising Palm's would be nice.
There is another (largely untapped) synchronization area. Many of the smarter European GSM phones (all current Nokia phones, I believe) have a built in calendar that can exchange appointments with other devices by sending SMS messages (short wireless text messages) that contain vCalendar items (a simple text based format, I have the details of vCard/SMS messages if anyone wants them).
I realize that there this functionality is probably unknown in the US but it is very widely available in Europe and Asia.
I'm not sure what would be the best way to integrate this into a calendar server, but I know that I would definitely like to see a server that would update the calendar in my Nokia 9110 Communicator smartphone (see earlier discussion) automatically.
Regards,
Xenna
I believe you're mistaken 'bout that limit. Our enterprise address book has just about every person in our North American, European, and Asian offices (probably some in the other populated continents, too). I work for Motorola. I'm sure we have more than that number of people. They are, however, divided into domains. That might help in increasing the number you can use. (I dunno exactly how it works; I'm no exchange expert.)
My mind works like lightning. One brilliant flash and it is gone.
There's some great ideas on this list...
I hope my additions are worthy.
Let's keep in mind the technologies we'll have in the future. Especially bandwidth.
Maybe we'll want to have an option for webcams. Big bandwidth is more common now, and webcams are getting cheap. This weekend, Several local stores were offering them for free (after rebate). Although some people see webcam technology as bloatware, it may also be considered the "Gee-Whiz" factor that helps this software become mainstream. Personally, I'd like to see some sort of "shared whiteboard" type of plugin. It would be great if I could share a CAD drawing with a customer in another country and have the ability to move things arround on my screen in real time and let them see the changes. If they see something they don't like, they should be able to virtually draw on my screen.
Why bother having actual meetings in person if you could do most things over the telephone or over the net?
IMHO, The big question is, Who could most easily implement this software first?
My guess would be that educational institutions could. I think it would be pretty sweet to have my instructors post my homework on this bad boy. Maybe they could even have a script that automatically 'chmod's the answers to the last exam readable. Get students using this software, and it will be sure to have a future.
One last suggestion is to have the ability to implement this functionality into devices like the Pagers, Palm 7 devices, or cell phones. I'm already seeing a lot of people with these things, and although I don't expect them to replace PCs anytime soon, They will likely become the most convienient to use.
It would be great if it was either supported by the thinair app, or had some other thiair like application for it. The ability to read/modify the calandar when out of the office is very important.
I organise my work by sub-projects. Each has a to do list, appointments related to sub-projects, I track my time, communications, contacts and I take notes that related to appointments and to do items.
I want a calendar that will not only keep an overall and individual project schedule, but which will keep a structured history database where I can take notes, then re-express the log and information as a LaTeX or HTML log book. That sort of log book is IMHO important not only for recording how I approached certain problems, but also as a record of what I was doing on a given day in case some dispute arises.
So in short:
As a general suggestion: the program authors need to study patterns of working behaviours. Take sets of individuals with varying degrees of personal organisation, and find out what functions in that personal organisational pattern can be usefully automated. Discover the commonalities in those patterns and then express them in a system. I'm probably not (quite) the most organised person on the planet, and have very definite working patterns that lend themselves to automation.
The user interface and CSCW research communities have done a lot of work on shared calendars. I strongly recommend you look through it. A good place to start is ACM's digital library.
Regards,
-BK
Chemical Blog
... Make sure that as much linking between data types (todos, meetings, events, addressbooks, notes, etc) as possible is supported. While standards implementation is extremely important, pervasive linkability of datatypes was really a welcome feature I received with MoreInfo..
Your Working Boy,
Firstly, a web interface is a must, but then it always is.
;) would be handy, if you'll excuse the pun.
Secondly, some easy way of synchronising it with popular PDAs (particularly Psions
Thirdly, a feature I'd love to see is the ability to schedule time based not on an individual user, but on some qualification of that user. It's all very well to say "Tell me whether John Smith is available in week 36", but what I'd really like to be able to say is "Tell me which certified Websphere architects we have available in week 36", or "Tell me which instructors can teach course NL06 in either week 25 or 26". Current solutions that I've been using haven't offered this.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
it should use the open standars like vcf/vcal, Palm support ! (open connectivity, etc...) thanks ... Collin
I would really like a calender that had attractive girls flung over high-speed super-computers, or licking a high-speed 1.5Ghz processor all in exotic locations like Bell Labs or PARC every month. Make it a *real* geek's calender so the only way to peek at the other months is by hacking it. It'll take away half of your market probebly, but I think the sales will be end up being high enough to justify it. Thanks for your consideration, and I look forward to getting my new calendar.
I think two very valuable architectural features would be 1) a well defined CORBA (insert more component interface protocols here) interface. It would be a really nice thing to be able to include features in the server program itself directly into office apps connected to it. If you've got a well structured interface I can write a small collaboration app that uses the DB parser of your server (and the server's processing power) to find messages relevant to my project. Secondly I think a good interface to web servers is also pretty important. I mean sure you can have CGI or some such communicate through abstraction (and extra processes) to the calendar server. Let Apache talk directly to the server and make queries from an apache module.
I don't know if this goes out of the bounds of a calendar server but I think a very good addition would be either collaboration functions (a la Domino) or just the ability to store information about your projects in the calendar as relational objects. Being able to stick a new project on my calendar and then store meetings, trips, ect in my calendar and have them related to the project I'm working on. Collaboration features are also a big plus in the office, especially if it's all OS so you can add the ability to link adendum notes or comments to a document that reside on an intranet server. This feature set can also be referenced to your calendar so you can keep track of everything in a related way. Above all else it ought to be able to make better coffee than the secretary.
I'm a loner Dottie, a Rebel.
It would be nice to see an implementation of a client using a set of Java classes. If designed properly, these Java classes could then be wrapped in a Swing-based GUI (client-side application) or in a JSP-based tag library (server-side application). The end result would be the same core libraries providing both a client-side app and a server-side app.
If properly designed, this would allow multiple web-based clients--one for WAP, one for HTML + Javascript, one for plain HTML, etc. And client-side Java under JDK1.4 (not out yet--I've seen some alpha-tests) is really quite acceptable. The main advantage, though, is that you'd be using the same core for multiple clients. If you add a feature in the core, all the clients get the feature.
Of course, the client application should also be sufficiently disassociated from the server application, allowing native clients (C++ or C or whatever) as well. But there is a real advantage to having a sample implementation done in Java.
--Be human.
I'll have to second this one all the way. The key is to set a standard for how that data is stored and how it is transported between clients, which will allow several clients to interface.
I want something which works with a mail client and a web browser, irrespective of what client and browser i use. That way, I could use it at the office, at home, on my cell, at an internet cafe, and at one of those internet kiosks at the airport.
Granted, having a specialized app to interact with it will most likely be faster and benefit from additional features, but the goal here is to be independent of hardware and not have to carry a laptop, plam, or datebook. Even now, I don't carry a laptop because I can get internet access almost everywhere without it. If you give users this freedom - the ability to take notes and update their schedule from anywhere, your product will rule.
Don't think features - think protocol. make it ridiculously simple. Then build a server app which ports XML to an RDBMS and vice versa. User access priveledges will be a priority. Finally, build a client which has all the bells and whistles, build an API, and port existing/competing calendars to your XML format.
--
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
Don't forget about the UNIX tools philosophy that serves us so well - many programs, each doing one thing, and one thing well, acting in concert. (Bloatware is bad.)
</nostalgia>
Even if you're not planning to design your project like this, let us interact with its data files or database rows with command line interface tools, both standard ones and ones that you provide. This makes scripting that much easier. It also keeps the data as "open" as the source code. ("Open Data Software"
<rant point="little to none">
And for God's sake don't make it store all its data in XML. I can't stand programs that do that. It's so much more work to parse. Give me mysql/mysqldump and grep/sed/awk/perl any day. XML is a very good transfer/transmission psudeo-language, for platforms to talk to each other, not for storing data on disk.
</rant>
... is one thing that I've always wanted from a calendaring program. For example, my work schedule is:
:)
3 twelve hour days (from 0530 to 1730)
three days off
three twelve hour nights (1730 to 0530)
three days off again
repeat.
Every program that I have ever seen absolutely chokes on a schedule like that.
I know that other people (like hospital workers, fire people, and police officers) also work patterned schedules that are not exactly based on weeks, months, or years but are based on so many days on and so many days off like mine is.
Yes, my schedule sucks... But I'm used to it
I, for one, welcome our new robot overlords
If you are going to be implementing a "built-in holidays" as mentioned in the parent post, remember to avoid being too US-centric. Perhaps there can be a "set country" feature where you can set what country you are in and that way it will only embed the holidys observed in that country. Either that, or all known holidays from the world can be put on a check list and the user can then can check off what holidays they want to show up on the calendar.
I'm not claiming that Steltor's Corporate Time is the end call be all server for this, but it meets almost all of your listed requirements above. The website is http://www.steltor.com
-jay
I would like it to work with Timex Datalink
Besides the obvious features equaling everything a regular calendar has,Playmate of the month is really the only thing missing.Now c'mon really,do I gotta be the one to think of these things?
*Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
In the real world, things often don't get done when they're supposed to. A good scheduling app has to take this into account, especially as this interacts with repeated events.
If I don't get something done today, and it doesn't have to be done at a particular day and time, it should roll over to tomorrow. In fact, I should be able to specify how to determine when it rolls over to, so that, if I have to do something on a Thursday, it'll remember me every Thursday until I do it.
If I fail to get a repeating thing done on time, I should be able to specify what happens to the next iteration. For some things, I have to do them on a predictable date, even if I was late the previous time (such as paying my credit card bill). For other things, I want the next date based on when I actually did the thing (my laundry, e.g.).
Some events may be timed based on either of these aspects of different events.
Probably the right thing to do is to keep track of everything you plan to do for a while, and how you decided when to do it. Include all the weird cases (I have to go to the supermarket three days after I go to the convenience store, or 5 days after I go to the supermarket, whichever is later, but no more than 2 weeks after I go to the supermarket, even if I go to the convenience store in between). Come up with a way to have the system include all the cases you found.
My favorite calender program, and one that made other engineers drool where I work, is Spinacker Software's Calender Creator Plus. I've got an old windows 3.1 version that came bundled with a computer.
It had excellent print formating that would make week planers, day planners or regular month long calenders. My favorite is the week planner with a little square for each hour of the day that I carry around in an engineering pad holder. Yes, sometimes paper rules. Do list one side, schedule the other, life planned from 6AM to 10PM.
The interface was very efficent and easy to use. Repeats were almost infinitely variable and flexible, by day of the week, week of the month, day of the year etc. Information was devided into lists that could be added or deleted from a space, and you could have as many spaces as you felt like. Marks on the page were clear and formatable. Goofey images could be stuck in there if you felt like it.
If these things could be combined with a group collaboration and resource scheduling background, you'de have a real winner. Good luck!
~~ What's stopping you?
In the high bandwidth world maybe something like the rich complex group calendar functions in Notes is the way to go. Granted Notes works in a dialup mode but I'd hate like hell to have to check a group calendar that way. The best way to approach that is to send out invites and allow the recipient to reject or accept which isn't much of an improvement at all really. What you want to be able to do is search for free time by person in a group by various categories: classifications of work, priority topic and then allow for or disallow things like double-triple booking, selective autoprocessing of inbound and outbound invites.
Then there's the whole subject of shared vs. partially shared vs unshared address books. You want to be able to respond to a message or a calendar entry or a note in one but you also want to respond to every name in a list of recipients as well as some that are not on the list and not respond to some that are. Parts of the local address book should be shared upstream for common use as long as deltas for shared entries are handled correctly. If you look at Wesync they try to do this with some success. It sounds like a shared lock while update problem on a relational DB.
The application has to allow for automatic handling of entries inside/outside of the profile so that something happens differently when you are requested or request someone to atten a meeting @ 4am or some outlier time. You also need to handle timezones so that the shared address book has some notion of the recipients time zones. Without this you would have to know the timezone of every recipient. What you want to do is have the calendar function automatically adjust the local time. You also have to handle DST. Next you have to be able to allow for local timezone adjustments outside of the calendar so that recipients can travel and plug their new timezone in a temporary profile override.
Now all this is fine and good in, as I said the high bandwidth world. In the low bandwidth or wireless world you have a different notion of the timeliness of a shared event or a shared data entry and how you reconcile multiple updates to the same sahred event are different. For example you can send invites to many people. In one scenario you have agree/reject or you have autoprocess for a majority or you reject the whole list for a single reject. Do you have a central server look for a best fit and reschedule the event based on that and then notify everyone on the list? Or do you rely on multiple iterations of a person's intervention to reschedule until some number of people agree on a time.
Next, how do you handle recurring events? Do you ship a whole entry down to the client for every occurence or do you have some different data structure that represents multiple occurences. And of so how do you edit each occurence later on if for example you happen to schedule something on a holiday and it has to be moved? The individual entry method is easier to handle after the fact as long as you repropagate updates upstream. But the multiple occurence data record approach works better for low bandwidth.
Last but not least you need a method to perform some level of authentication or record ownership so that only the originator or its delegate can chnage an entry if you deem that people should change a record after the fact or in the 'best fit' case. Otherwise scheduling chaos ensues if anyone can change any group event.
http://www.softwarestudio.org/libical/
RFC2445-2447
IETF-CALSCH
But where is the actual software? Nobody knows! It's all vapourware or "pre-alpha".
Please, some company with some cash, committed to open source, (or some org like Apache) give us a calendering server that works. Then we will get some clients (web, command line, pda, etc.).
"What I look forward to is continued immaturity followed by death."
The entire article looks blatantly like market research. Not to imply it's for spamming or even, god forbid, closed-source software development purposes, but it raises some, how shall we call them, precursors to ethical questions: I sure with *I* could use slashdot as a vehicle to do market research for my products, dig? Maybe if I, oh, scratch the backs of the right people, nudge nudge?
Oh well, I got that off my chest, now to compromise my principles:
* support for differing time zones. This is so obvious it doesn't need to be mentioned, right? Believe it or not, dtcal in CDE doesn't do timezones. I get an appointment for a teleconference mailed from the east coast, it shows the same clock time for me as it did there. Or pull up someone else's calendar, and you can never see THEIR appointments in YOUR time (this is a problem with all the calendar apps I've seen actually). Maybe it was a configuration issue with dtcm, but it never even showed time zones at all for me to know for sure. un-freakin-believable. don't make that mistake, just store times in absolute format and localize it in the app. Let me see the same calendar from "my time" and "their time" side by side.
* Richer time and project management features. Let people attach notes to a meeting, let it be noted how long something actually took, allow one to put an appointment in "cancelled" and hide it instead of just deleting it, have reports that look for "wasted" time according to some various criteria like meeting overruns (but don't require the person to be a programmer to figure out how to run said reports).
* more fine grained time ranges than "working" and "non-working" hours. Some people have hours where they're in the office, when they're in the field, on call. Allow for warnings when scheduling someone in the "wrong" category, e.g. scheduling a staff meeting of the helpdesk but not the people currently on the phones.
I've finally had it: until slashdot gets article moderation, I am not coming back.
Supposedly, MSFT has defined open interfaces across all languages and platforms. It might be worth a look considering that it's open and will conform not only with outlook but every msft product that implements a calender. The initial stages of
looks like someone already started the project.. check it out http://www.phpgroupware.org/ i like it
look somewhere else for a sig... *** ** *
Some concepts I'd like to be able to express (not necessarily example strings):
- the third Sunday of every month
- every Saturday in every July
- 4pm every Wednesday, except Nov 29th, 2000
- three hours starting from sunset every weekday
- from 11pm to sunrise
- the first weekday on or after April 15th
- from two days before to one day after the last Sunday in May
- the first Sunday after the first full moon after the vernal equinox
- the second full moon of the month
I've done a little bit of work in this direction (data model, not parser), in both Java and Haskell. Java is probably more useful, or easier to convert to C++ if necessary, but this sort of thing is really made for a functional language like ML or Haskell.While on the subject of time, how about being able to correctly handle all time-zones and "daylight saving" schemes, know the difference between UTC, UT1 and TAI, correctly account for all past leap-seconds and make reasonable guesses as to future ones?
Surely a text message would be better?
In the mid-'90s I worked at Apple and we used a program called Meeting Maker. The conference rooms (and other special resources, like overhead projectors) were "resource" users. You'd just invite them to your meeting. They would automatically accept any meeting invitation for time periods during which they weren't already allocated, and administrative users could go in and move the resource users' schedules around for the occasions when somebody with higher priority needed the room/device right away.
Oh, go on, check out my job.
One thing I don't think anyone's mentioned is the importance of importing and exporting your calendars from other applications. There are already tons of apps out there that do a similar task. One way to stand out would be to offer import/export capabilities from tons of these. Not just Exchange, etc.., but apps like Yahoo! Calendar. I use the latter to make the sharing of my calendar easier on the Internet, but it would be quite sweet to have a nice frontend to edit it.
---
Josh Woodward
Josh Woodward
What I like about it:
it schedules the room as well as the participants for a meeting.
it has a holiday database.
proxy access - This is configurable by user. Your employees may view your schedule, but your secretary may modify it.
What I don't like about it:
It doesn't talk to any other applications (exchange, lotus) or devices (palm).
Problems we've had at work:
Handling telecommuters and remote offices. This is really big for us since we have a lot of small offices around the world and a lot of people who telecommute from different countries. This kind of thing will only get more prevalent. The scheduling app has to handle low-bandwidth high-latency situations well, which probably means severely limiting the bandwidth used to communicate (and also making it configurable).
Providing security out of the box. Anyone who doesn't integrate SSL into an application like this is just asking for trouble. This goes against the KISS priniciple, but is required for today's corporations and project groups to take it seriously.
So, you switch the time in your mind, but not on the PC, and the fscking thing is supposed to present information as AT THE TIME IN YOUR MIND?! I'd say you've got problems that can't be addressed by calendaring applications.
My Dream Calendar Program would look like Natalie Portman - nuff said
Black holes are where God divided by zero
Make sure you take a look at another project which has similar goals: WorldPilot. (See the nifty demo.)
Use Zope!
Integrated with the main communication system (email), standards compliant, secure, webbased, maintainable, scalable, licensed DFSG compliant, speedy, flexible, robust and have good documentation and support.
I think a webmail setup with the following components come a long way:
What timing-- I was just trying to work out an ideal scenario for event management for the Independent Media Center of New York.We're actually looking for people to help set up this system -- a volunteer effort, I'm afraid, we couldn't pay; you just gotta do it out of love of truth and hatred of corporate misdeeds ;) Most of what we have so far is set up in php or perl, I think.
Indymedia is unusual in that we need a system which is not for a paid staff in an office, but rather for a bunch of freelance volunteers and the activists whose events they cover. Our mission is to get coverage for events and perspectives the corporate media ignore. We do not have an editorial board which dictates content, so we need the calendar for egalitarian coordination of who's going to cover what. We need a better slingshot for David to fight Goliath.
Right now we are working off a calendar at protest.net which serves our needs OK: anyone can post events; the calendar is accessable through the web, and viewable in day, week, and month formats. We just need it to mail out a digest to a) reporters who want to know what is going on so they can cover things and b) other activists who want to be involved in these events too. (The creator of the software that protest.net runs on, which is called Calendrome, is working on this aspect now). We might want to have two different kinds of digest for these two categories of people.
Then we will need to make it so that people can either reply to the email or visit the website to register that they want to work on the article in a print, audio, photo, or video capacity. There should be a page people can visit to see who is covering the event and whether there are gaps in one medium or another. It would be nice if this could be worked seamlessly into a way (web chat? message boards?) that reporters could talk with each other about the event.
Once an event has been covered, it becomes an entity in our article system, where it may be combined with other coverage of that event by an editorial team. People who covered an event should still be able to hunt down the info about the event in the calendar or somewhere in our system, so they can look up who else covered the event to share notes, coordinate how the articles/clips are displayed on the site or used in other media, talk about future collaborations, etc.
Erm... these guys are planning to write
it in perl. How is that ever going to be
maintainable? Perl *doesn't* work for
large projects.
For something like this, I would say
C is by far the most sensible option.
Perl has got to be one of the stupidest,
maybe narrowly beaten by sh. If you really
have to use a no static type checking
interpreted langauge, at least python
is maintainable....
Actually, my manager would love me to join the company's calendaring system, but I can't, as I refuse to use Windows on a regular basis for practical considerations. The better "my" calendaring client integrates with my existing working environment (which might be considered a bit archane by some), the better the chance I'm going to use it on a regular basis.
So the only thing I could hope for in a calendaring system that already pleases my manager, would be either a mail interface that allows me to do most things working with my usual mail client - or, preferably, reefknot.el.
So, if this should really work, I must be able to schedule things on various levels of visibility. Private things (like a dentist appointment) should be visible to me only, but marked as busy time for others. Secret things (like a date with my mistress) should not even be seen as busy for others (Everything will never get in to the calnedar anyway). Department meetings should be visible to the whole department, but only seen as busy for other deps.
Also, consider security. Such a calendar would be carrying lots of practical information of the daily running of a company. Competitors and others may have great interest in this stuff. Just leaking out the names and titles of people can harm a lot (suddenly there are seven new managers in Boston, something's about to happen there! R/D department has stopped scheduling meetings in evening and weekends, they must be back on schedule. No, they also fired six people, they must have dropped a project.)
In Murphy We Turst
ALSO: a cousin of mine works in a company that has many deals with a japanese company, and she has to take into account both local holidays and japanese holidays. I've seen software that either
- has the holidays fixed (no config possible)
- has the holidays of one country and you can input more (but no way of distinguishing between both categories)
- has the "generic" holidays for many countries and displays them all, without any filtering chance.
I'd rather have a calendar that lets me mark holidays for several different countries (user configurable, of course) and marks them differently (green for my country, blue for japanese, for example)."Trust me - I know what I'm doing."
- Sledge Hammer
naked models
Irrespective of how it's spoofed, otherwise dressed up to look like something it wasn't, etc. any content whatsoever coming from that IP or any other IP that points to it is to be blocked.
--- Jump!! Fire!! Bullet time!! - Lego version of the Matrix
You asked for a wishlist...
1: Sync to/work with more than just the desktop. e.g.: Sync to a palmpilot or pocketPC, allow access via a web browser. Support calendar updates via e-mail (ie: e-mail to calender-server@company.com). In fact, heavily use e-mail for reminders, coordination of meetings, etc. If you're coordinating a meeting, the e-mail you send to request the meeting should be reply-able to the calendar server and update that users calendar.
2: Give a powerful text-based command language so 3rd parties can heavily customize the whole thing. Allow for hooks and an API to add modules ala apache/perl/etc.
3: Do more than 'calendar management'. How about timeslips? I know a lot of team leaders who would love something better than the paper-based system they use right now. This doesn't have to a be a fancy project mangement system; just provide a way to tag time as belonging to one or more user-defined categories and a way to extract this data as needed. Of course have a journal/notes entry for documentation.
4: Multiple access/management of time by various people. For example, my boss generaly doesn't update his calendar; his secretary does. Likewise, his secretary should be able to book time on my calendar. I know that outlook supports this to an extent, but giving more flexibility/security to such an arrangement would be great. In particular, support resource scheduling and pre-emptive access to resources based on who you are (ie: my boss could 'bump' my reservation of a conference room, and I (and all other attendees) would get an e-mail notifying us of a change of venue or that we need to find something else.
"But actually trying to use m4 as a general-purpose langage would be deeply perverse" --ESR
Particularly when there is more than one open-source team trying to do the same thing.
Why don't these people get together and build something new?
I have a *fuckload* of ideas for genuinely new tools. Unfortunately, I have to eat, so I have a job, so I have bugger-all free time to spend implementing my ideas.
C'est la vie.
I know this is a lot to ask, but if the program can integrate with most of our email clients, like pine, mutt, netscape email client, it will be awesome.
This is one of the things that my ex-project lead told me why he chose outlook. You get an email, you schedule things right there.
I have to make a disclaimer. I worked on CaLANdar, which had most of those features.
Fight Spammers!
I the hopes of saving bandwith and slashdot load lets preempt the inevitable exchange that is to follow:
Accusation: Perl is butt ugly
Response: Beauty is in the eye of the beholder and btw you are butt ugly.
Accusation: Perl encourages to poor programming style.
Response: Guns dont't kill people; People kill people.
Accusation: Perl is slow.
Response: Perl is Fast.
Accusation: Perl object oriented interface is an afterthought and incomplete.
Response: Ya but it has the essentials and it is nice to use the design methodology that best fits the problem at hand.
Did i miss any ?
This would be nice, but I would also like it to inform the person trying to schedule a meeting at a given time that such-and-such is/are busy then. It let's you know who to ask to reschedule their conflict if the meeting is important enough.
Here's what I would like to see in a calendar
program.
1. Free busy capability's
2. Groups of users (so I can schedual a meeting
with say the networking group with one click)
3. Group calendars (a general networking group
calendar that all networking people can
modify).
4. Ldap support (openldap/netscape directory
server).
5. Full featured web based interface
6. Email reminders to users and groups
7. Works with outlook and netscape calendar
clients
8. Ability to view multiple calendars at once..
aka overlay my bosses calendar with a coworker
and mine to see when we have a few moment to
get together.
9. Database backend that supports many different
databases, mysql, postgrees, sybase, oracle.
10. ability for users to have multiple calendars
for project planning.. etc.
11. a nice professional looking interface.
12. a strong permission based system so I can
make some calendars public and others not.
13. Concept of multiple layers of permission.. As
a boss I could see all my employees calendars
regardless of their permissions..etc.
14. Works with apache and netscape enterprise
servers.
I have been seriously looking at netscape calendar
but If I could get an opensource product in house it would be great!
Malice95
Make it web-based. I would love nothing more than to be able to find out what's going on while I'm sitting in LAX for three hours. In all seriousness though, having full funcitionality via web would be very important.
Have booking confirmations. If I schedule someone to show up on site on thursday, I want to know they know to be there.
SMS functionality. Would be nice to be paged 10 minutes - 10 days before I was supposed to be somewhere or have something done. I don't remember anything unless there is an alarm associated with it.
-In the event that you disagree with the previous comment, be advised that you are most likely right anyway.
Evolution
i ons/Debian/ ./, to your Debian sources list to fetch it. Be warned, is is under heavy development and requires many dependancies that are still under heavy work
Evolution is part of the GNOME project and is being developed by Helix, Inc. It will be integrated into the next Gnome release due out early 2001. You can download a beta right now or add deb ftp://ftp.helixcode.com/helix/evolution/distribut
The main thing for us would be Palm Pilot support. There is already an ical extension to allow it to talk to palms, but ical and the palm calendar have such vastly different capabilities that they really don't talk. Shared calendaring is very good, but it's less important to us than good palm support. Get both, and we'll switch immediately!
"The biggest problem with communication is the illusion that it has taken place."
The main thing I love about an exchange type setup is having the ability to share your appointments with other users. A manager can schedule meetings and events that will show up on everyone's calendar. Another nice feature would be build-in holidays in the database. It's annoying having to check a "real" calendar for what dates holidays fall on and then enter them manually in my calendar.
----
Celebrate the finer things in life
Check out Above and Beyond from 1Soft for some excellent features.
I use it standalone, so I can't comment on sharing, but the time management features (ability to control priorities, "floating" tasks, dependent tasks, and interrupt/resume tasks) is wonderful. I could never go back to a calendar that supported only fixed entries and static to-do lists.
-- loh
must have
/Dread
Greetz
We use C&ST in my company and it really doesn't understand timezones. It just puts everything into GMT and then displays it in the timezone of the viewer. This makes things really difficult if you are travelling since you ideally want to see things in the timezone of where they are happening. Also think of trying to schedule things like an airline flight where the timezone of the start and the ends of the flight are often different.
The problems with the mailer include: Odd bugs that insist that you begin to compose a message before going to the address book; forwards are not sent inline with your message added, but are sent as attatched mails that open in a new window (ack); replying to mail does not add any markings to the message you are replying to, meaning that if you reply to several points in a message, you will have to add something ('>' or '--') yourself; and other little inconsistencies along those lines.
Also, if you tell Groupwise to remember your password, then change your Windows password, you will have to resync those two. It's odd, but at least somewhat reassuring that it cares about that.
sig not found
OCS is GPL'ed, and I'm impressed with the calendar portion of it.
The only time I've used netscape's or Outlook's calendars is for To Do lists. These are a major plus when those really busy weeks crop up from time to time and my To Do list extends beyond 30 or so items and I run the risk of forgetting important things.
To Do lists need %age complete and a due by date/time. One thing I haven't seen in ToDo lists that I'd really like is not just a terminal date/time but also how many hrs the task is expected to take. It should then keep tabs of how much work has been done.
Also I'd like a mini-Gantt, so that it can display the tasks I have for the day or week and show free hrs or if I've over committed myself by eg specifying 10 tasks at 2hrs each in a day! This mini-Gantt (or any decent Proj Managment sw, unlike MS Project) must allow you to specify if a task is able to be carried out at the same time as other things or if it is exclusive of anything being done.
This Mini-Gantt should also automatically order tasks in terms of priority (defined when I created the items in the To Do list) and automatically schedule my day, with a pre-defined breaks allowed for morning tea, lunch etc and breaks for mtgs and allow travel time to meetings at known locations. It should summarise the following days events b4 I leave work and should also have that summary as a popup when I first arrive and/or login in the morning.
pithy comment
oh...calander program....one that makes a calander that just has Paid Vacation written in every cell.
As for features, I'd really like to see good project management capabilities. Right now, I can't even find the feature I want in any project management software (please post any especially good ones if anyone knows of any). Employee calendars and project management should be easily tied together, and for obvious reasons. For example, if my department has a meeting about a specific project, I want it tied into any project mgmt reports. Ghantt charts (however that's spelled) just don't cut it for me. I should easily be able to see if my co-workers are busy, and if mgmt allows, let everyone see what projects everyone else is working on and on what schedule. With Outlook you have to arrange a meeting, then it compares to their calendars, but sometimes I'd like to just see everyone on my calendar, and I'm sure mgmt would love that. And of course other obvious features are speed and expandability. VBA in Outlook/Exchange stinks. The object model is bulky and very slow. I want to be able to drastically customize the calendar (for myself or anyone else I choose), maybe adding features myself.
Developers: We can use your help.
A good calendaring system should make provision for meeting rooms (or more generally, any resource) also having diaries. These resources could for eg. be managed by a secretary. A meeting to be arranged must therefore inform/query the resources as well as all the people invited, either for a specific time/date, or automatically find a convenient time for all involved, with a list of mutually exclusive resources. That way one could schedule a meeting with the people required, specify say something like "within the next day in working hours" in one of the following possible meeting places.. etc.
Thanks for the info, I'll check it out. I couldn't agree more -- for me, the value of having ALL the data one wishes to track in the SAME file, & being able to manipulate it at will, was so high it prevents me even considering using any replacement without that capability.
Btw, a W95 (32-bit) version of Ecco was produced & released & worked pretty well. Unfortunately, although I was able to download the 16-bit version to a PDA, the 32-bit version didn't fit Intellilink's (transfer) program, and they declined to produce a new module for Ecco.
Since the 16-bit version (of the database) could be translated into the 32-bit version but not vice versa (the usual post-MS standard -- remember when backward compatibility was routine?!), I was deprived of the ideal mobile version of my data. Of course, I could still export specific data (just contacts & appointments, for example) from the 32-bit version, import it into the 16-bit version, and then download it to the PDA, but it is a bit tiresome to go through this procedure routinely.
In short, a vanilla HTML UI option.
Try to research and follow standards as closely as practically possible. Also don't try to tackle all parts of the project at once. Write a server backend like mysqld or openldap which have PHP api's and push others to work on different clients. This way a developer could write a windows, mac, linux, java, etc client and you can focus on getting the server backend as secure, feature rich and stable as possible.
Integrate some known mechanisms for security and storage perhaps using openssl for security aspects and mysql for storing the actual data.
Once you establish, for example, how your client can query a calendar of scheduled appointments and events given some criteria (or not), a calendar server, at least as far as I'm concerned, merely need to serve up the data. Let some other third party (another website, let's say, or some kind of java frontend, perhaps a WAP device of some sort - anything at all is possible) handle displaying the information and presenting it to the user.
In this way, the calendar server is only responsible for serving up the data, and you wouldn't care about the capabilities of the client, because after all the client will determine its own capabilities and process and display the data according to what it can do.
I'm acually coming from a Lotus Domino perspective, but if you put those features in you'll duplicate most of the important features of Domino's Calendaring and Scheduling systems. And the Yearly Planner view is one that Domino doesn't have, but users are crying out for...
One of the most impressive parts of Domino's C&S systems is the sheer scalability of it. You can have huge installations, yet free time lookups are easily handled by the system, even across WANs. You'll need some kind of referal system to handle this kind of stuff, otherwise it'll never fly in an enterprise. You can't have people's clients trying to cross the networks, y'see - but the servers will probably have access across WAN links to talk to each other. So almost all your free time stuff needs to be "referable" at the server side.
Also, you'll have noted that free time notation is seperate from the actual calendar. Free time should be stored somewhere else other than in the user's calendar, to make it easily scalable. It helps increase cache hits on the server, if nothing else. There would be nothing slower than having to open 20+ people's calendars to retrieve their free time information when booking a meeting with them. If it's all in one database, you're sorted then. If you're putting it all in one database anyway, make sure that free time is stored seperately in a table of its own. This should do the trick.
Note that free time is seperated from the actual entries anyway - sometimes you really do just want to pencil in an appointment, but not mark yourself as busy. Whenever we're asked why this feature is there, we can never think of a suitable example of why. But the person asking us usually gets back to us within a week with their own example...
Having seen the code that Lotus uses in their Calendaring/Scheduling systems, I have to say that the hardest thing to get right is the repeating appointments part. Good luck!
Item-level security. The ability to control view | edit access to items based upon category. This would allow merged calendars containing events of all categories to be viewed and edited by those with highest security -- but could restrict access to, say, the "news release" category for those with low security.
Item-level formatting. The ability to use variable text formatting in views and reports based on selectable characteristics of the item. For example, items with start times later than 5:00 PM or belonging to the "confidential" category might display/print in identifying colours.
Others may disagree, but I think you could do worse than to use Outlook as a starting point. The two points above are what I found most lacking in Outlook 98. (A certain degree of item-level formatting is available in Outlook's table views, but not in graphical views.)
As well, I'd like to see both nested Boolean and regex support for searching and filtering.
I spent a couple of years helping to support a custom Outlook calendar application and look forward to whatever you come up with. Good luck!
IIRC the command-line cal program does the holidays thing quite nicely, handling holidays for US, Canada, (several other countries), Christian faiths, Muslim faiths, and another major religion I'm forgetting. Maybe you (the programmers) could take a look at how they did it (probably pretty simple, IIRC the holiday data files were just plain ASCII in the form of date: description new-line).
--
News for Geeks in Austin, TX
Just a few requests:
Have it be able to page you a reminder for events or call up your cellphone and have the ability to either talk and say what it is that you have or leave a voicemail. That would be awesome
Several years ago, a company produced a PIM which was actually a disguised relational database -- the GUI included the usual pretty calendar, rolodex-style contact management, outliner, and notebook functions, etc. The same company (last aka was Net Management, I believe) produced a browser (for serial port connections, as well a telephone connections), FTP, and other useful products. Their PIM was called Ecco, and once you got the hang of how to use it (which didn't take long if you had the smarts, since you then began to use it to manage every other program and so were using it continually), it was wonderful. Then MS released its "free" calendaring program, and you know the result.
If you want to know how groupware should work, try to get hold of the manual for Ecco. If you do reproduce its functionality, I'm interested in your program. 'Til then, I'll just stick with Ecco, thanks.
Important: Don't leave out the part where I can set up project management/invoicing/expenses for my independent consulting, and shoot any data or combination of data as formatted ASCII to a template file prepared by my advanced WP program, using saved sets of instructions.
While I do use my custom calendar for business engagements, it's mostly for my bustling social life. I will most likely never use a third party web calendar myself, but here's what I like about my own in particular:
- The HTML table that displays the actual calendar (all days for the current month) is small enough so that scrolling isn't necessary, but large enough so that a brief blurb for each event on each day can be displayed (on mine the max is ~5 events per day before the size of the cell is affected).
- The people in my address book can be of two types: those who also have a login to my calendar, and those who don't. For any one event I can select people from my address book that are involved in that event, and seperately I can choose from a much shorter list those I want to share the event with (it will also automatically show up on their calendar). So, if there's a dinner party at A's house and B, C, and D will also be there, I can designate that this party is an event with A, B, C, and D, but then I can also share the event with X, Y, and Z. That way X, Y, and Z will know that the party is happening the next time they check the calendar. I can also share contacts with other registerred users.
- Any event or contact can be editted by the person who posted it or anyone who it has been shared with.
- I know most people hate popup windows in web apps, but I use popup windows for all additions (adding/editting a contact, adding/editting an event, etc.), and the main browser window for displaying information. When I have my calendar open (which is pretty much all day) it never has to be refreshed unless I add an event that warrants a refresh.
- No graphics! But I can choose between several different purty color schemes.
On a semi-related note, does anyone know where I might be able to find a script with the logic to figure out when those wacky holidays like thanksgiving, easter, etc. fall? I know it'd be really straightforward, but I haven't been able to find an explicit definition of how those holidays fall. Yeah, I guess I haven't really looked that hard...What about confirming the timezone/etc when all the participants but you are in a different timezone?
Other ideas... not bandwidth centric to synchronizing with a home pc/palm/etc...
WAP availability, ACLs for each persons schedule (so a secretary can schedule for a boss...), confirmations (of course), isn't centered around a single email client (eg Outlook), todo lists for groups/people (with the ability for each person in the group to accept an item as complete before it being 'checked off')...
Reminder options, from a popup in a/the client to an email to an alphanumeric page, etc... with a 'vacation' or 'out' system that redirects priority messages/events/schedule changes to the preferred mode of communication while they are away (eg, forward my messages to me via fax at ###-###-####, or send the first few lines to my alphanumeric pager....)
Integrated contact list...
ability to easily print monthly, daily, weekly, etc calenders.. (the paperless office never happened)
pre/post meeting discussion list management ability... to start a new discussion/thread from a meeting..
a quick 'Who Else is Going' button to see who'll be at the meeting... denoting those invited vs those accepted vs those not attending..
Instant Messenger integration? (eg ICQ/AIM/etc)
Resource tracking for meetings/room reservations/etc...
Ability to track the meeting from scheduling to its occurance to follow ups/etc... including a searchable meetings minutes/agenda index.
Just an idea or two.. much of this is already available.. but shouldn't be forgotten in your product...
What makes Exchange/Outlook and Lotus Notes so attractive in the workplace isn't any one of their particular services, but the effective combination of their features to cover the key aspects of business. If you intend to compete against these current commercial packages, your project will have to offer AND improve upon services they offer.
.vbs script that wasn't a virus!!!!
The one area I see that you can radically improve upon is the integration of project management.
As my workplace is wall-to-wall Microsoft, I will comment on Exchange/Outlook and MS Project. If I had a penny for everytime I beat my head against Project's inability to integrate with anything else, I'd be richer than, ahem, Bill Gates... These are just the easy examples:
Get Project tasks to coordinate with Outlook tasks.
Synchronize Project Schedule with Calendar.
Project Resources could align nicely with Outlook Contacts
Some things in Outlook that could be improved:
The preference settings are a mess. In your program, please make user changes straightfoward!
Central management for contacts. Example: If 10 people in a department have Bob Q as a contact, Exchange stores 10 instances of Bob Q's information. Should Bob Q change his phone, for instance, then that's 10 manual updates in the department. Central Management would mean that Bob Q's info would be updated only once, preferably by Bob Q himself!
Improve the Task interface, especially when being worked on by a team. Tasks should be automatically updated between all members, not just between an individual and the "tasker"
So here's a synopsis of what I'd want in an office client/server suite:
Create, modify, and destroy personnel, resources and projects.
Assign personnel and resources to project teams
Centrally managed schedules, tasks, and contacts sharable between all team members.
Designate certain rights to project members. i.e, all members may read the schedule, but only the project leader may change it.
Combined scheduling and calendar features
A simple interface, preferably browser based
And finally, please pay attention to security! I have yet to see a
I can think of many key items I'd like in a calendar program but a few that are immediately relevant to what my department is trying to accomplish right now: 1. Document sharing. It is becoming increasingly important that we can share our notes from different meetings. This is mainly due to the fact personnel are meeting with different vendors, but all the information needs to be known to the entire department. A quick, easy way to upload note files for the entire department to reference, particularly through a search function, would be great. 2. Basic project management. A lot of our meetings are based on projects. If the calendar program could have a simple to-do list (with the option of a more advance system) that can assign tasks to specific people, that would be good. 2.
This is not the way to build a lasting empire.
Don't forget to add scripting, so we can have some viruz and some fun time hacking...
Maybe it's so late no one will read this, but...
One feature I appreciated in the Netscape Calendar application but which appears to be lacking in Outlook is retention of "declined" meetings. In Outlook, when I decline a meeting, it's gone for good (unless I dig through the trash). When I decline a meeting in nscal, I can still find it in my "Declined Meetings" folder (and change my mind). Nscal also permitted me to see declined meetings in the regular calendar view, so I could also see the things I'm not doing that day.
"How's the Outlook, Bob?" "Murky..."
What do you mean they cut the power? How can they cut the power, man? They're animals!
Support every type of repeating event: every weekday, every weekend day, every Tuesday, every third Tuesday of the month, every two weeks, every 11 days, every first Wednesday after the 13th, the last Thursday, the last Friday before the 27th, the 3rd of each month, the first Saturday after the first full moon of the month, et cetera. If all else fails, let the user enter a list of future dates for a "repeating" event, and prompt them when the list is getting empty. (To be really fancy and complete, let them enter an algorithm for determining the dates of a repeating event.)
Also support exceptions: If a repeating event falls on a non-workday (defined by user events, not fixed bulit-in holidays), move it backward to the last preceding workday. Or move it backward to the last preceding workday Friday. Or move it forward to the next workday. If it does fall on a workday, move it to the next non-workday.
Notify the user at a configurable time before each event: ten minutes, 90 days, anything they pick. Maybe implement this by allowing events to be scheduled relative to other events: "this event occurs on the last Friday before event X."
...in random order, really...
... using LDAP)
Accepts Outlook 2000 as a client on Windows
Provides an open-source O2k-like client for Linux and Solaris, giving integrated mail, contact management, and calendar a'la O2k
Also allows Web interfacing (over SHTTP), providing calendar, contact, and mail management via an HTML interface
Provides user and group calendars, multiple group membership for users, and administration ability assignable to users, groups, and all (so that assistants and secretaries can manage calendars for their employers and their groups)
Allows selection of which calendars to view, so that the user can see only their individual calendar, or their individual calendar and that of one or more groups they belong to
Automatic creation of group calendar entries based on project plans from M$ project and a similar program on Linux and Solaris (previously existing, or created by the project)
Tags deadlines as "modified" but doesn't delete them when changed using the project mgt software (can select to view modified only, or modified and previous dates in the calendar view)
Allow calendar entries to have dependencies (entered via Project-like software, but also in the calendaring system by clicking on another entry), and the ability to tag each calendar entry as success (in which case dependent entries remain the same) or push them back (in which case dependent entries all move back by same # of days)
Alert users and admins of conflicts between ALL calendars (group and individual) a user is subscribed to, when scheduling new events
Automatic notification of events when they are scheduled, and selectable reminder e-mail params (periodic or one time)
Periodic events
E-mail calendar notifications a'la O2k
Integration of contacts and calendar a'la O2k
Notification of accept / decline of attendees by e-mail a'la O2k; allow attendees to suggest alternate times and meeting scheduler to accept an alternate time and send a new meeting notice
Though client is integrated, back-end system should allow for separate mail and calendar servers (contacts could be stored in the calendar server, or, also separately
I can think of more... I'd be happy to join this project as a system architect if the URL were actually working...
o/~ we are pissed, we are pissed, we have to resist... o/~ - ec8or
Allows Intranet Webmasters the ability to easily query the calendar data with SQL so we can integrate it with the company Intranet.
Neil
Few things which are absolutely required:
1. WWW frontend.
2. PDA sync.
3. Email Notifications (about appointment set
to you by somebody).
In 1999, marijuana killed 0 Americans...
Ewige Blumenkraft!
My project team is writing an entire Open Source Web based Groupware suite, which can be found here: www.eridu.org. We are in a QA code freeze and will be doing our first release this friday.
I would be VERY happy to see an open source calendar server that actually complied to some real standards. Calendaring has been the hardest thing for us to handle since there are currently no real open standards or servers out there.
Well, being able to share your calander is one of the features that makes MS Exchange tolerable. But it would be nice if resources could be scheduled the same way. I can schedule a conference room on my outlook... once I look at ITs calendar. Not sure how to make it easier... I just have the feeling that it should be.
It'd be nice to be able to overlay the events of one calendar user over those of another. Not just copy: overlay.
Then you can have a virtual user who takes care of a particular project, and you can hand it to whatever real user needs it, much like having a mailing address alias for the person who's doing the contract changes this month.
It allows you to view your schedule in various ways, including monthly, daily, and weekly, as well as set up multiple user views - i.e. what is the design team doing this week? It allows you to add qualifiers to appointments - such as "I'll be there for the first half" when accepting, and other neat features. It's painfully welded to the Novell Groupwise system, which is helpful - you can attach an appointment to any mail message/phone message/etc. but groupwise mail isn't the best mailing system running around today. The calender, though, is neat. =)
This product is no longer. NetManage stopped selling it because Outlook was free. (Good example of how Microsoft KILLS innovative products, instead of creating them.)
Imagine a database backend with a sort of a heirarchical spreadsheet front end, which is incredibly configurable. I saw one company on the web which sold Ecco addons to make it look like a Franklin planner or a DayTimer, etc.
The notes and TODO lists on most products are only a second thought addon part of the product, but with Ecco they were an extremely powerful way of managing information. There's simply no comparison to other products.
Short feature/wish list:
1. You can customize the columns/fields in each page or view. All sorts of types, including the really cool Gantt chart type of column.
2. You can index the information and bring up views with only certain select information.
3. Items can be heirarchically nested under other items.
4. You can link to other items or external documents.
With all this, Todos, Addresses, and Notes are just differently configured views. A Project management interface is another view. The Calendar view is more specialized, but works off the same database.
I've dreamed about doing a clone for linux, and done some design work, but I haven't found a grid/speadsheet widget with enough functionality yet. Most do not even do word wrap within cells. E-table might work, but I haven't had time to look at it in detail since they released it.
At my place of work we have Outlook and most people use the view other's calendar facility to see when other people are free for meetings. We then have to get up and walk to reception to find out what rooms are free when and revise the meeting schedules accordingly.
We would love to be able to call up the meeting room in Outlook, essentially invite the location to the meeting as well as the people. However IT flat out won't let us do that because it works on NT accounts and email addresses. You can't give a room an NT account.
So the facility I request is to be able to add meeting rooms to the server and include size information etc so we can call people to meetings and the software looks up when we are all free and suggests a room that is big enough to hold us all. Heck, why not give some kind of booking priority to managers so they can kick others out of pre-booked rooms; they'd love that.
We use exchange 5.5/Outlook2k(I'm sorry). The people at my company love being able to share stuff, and every day they want to share something new. I think originally microsoft planned to make it easy for end users to do this themselves, and somewhere along the way forgot to. To share things they way the people in my company like to share them(other persons inbox/calander/whatever appears in their outlook every time they open it) involves the person sharing to go into scary menus they don't understand to share the thing they want. Then the person who has to read it has to go into the mail control panels and figure out how to make outlook open another users mailbox. If they manage to make it that far, all the different permissions set on different levels of nested components of the mailbox inevitably lead to a call to tech support. At this point, whenever someone wants to share something, they don't even try. They just call me.
How it should work:
Step one: Person who wants to share clicks on item(s) they want to share, clicks a button marked "share" (or right clicks and gets it from the popup), clicks the user they want to share with. Step two: Person who will be reading the share gets a popup " has shared with you. Would you like to add it to your mailbox? Yes/No
End of story. The server/client handles all the permissions of nested folders. There are no trips to control panels. No restarting the mail client. None of that. It appears, permanently, and tech support doesn't get called.
---
"What is that sound its making?"
---
"What is that sound its making?"
"It thinks it has a virus, but its actually just linux."
Make all international character sets trivial to incorporate or implement.
How about the ability to restore data by individual user? I'm not the administrator, but this seems to be difficult or impossible on the GroupWise system we use. I think that the security of indvidual data (in the 'won't get lost' or the 'we can restore it if it becomes corrupted' sense) is key to the widespread acceptance of a system like this in a large organization.
Implement these, and the users will come. Do it not, and any project is doomed to play second fiddle to commercial email/PIM systems that will.
What I think would be an interesting bonus would be the possibility to subscribe to some appointment servers, and request new 'appointments'. I'm not just talking about meetings:
... This might explain the lack of business oriented examples :)
/etc/inferfaces. I'd like to be able to have different views according to which mode I'm in: work, home, holiday, etc.
* Want to tape all the episodes of B5, but women's ice-hockey games postpone the episodes? Subscribe to the appropriate server, and get the timetable, with any possible changes in the timetable.
* Students could get times for their lectures and tests etc. directly to their own calendar.
* etc.
(I'm not thinking about a corporate calendar, but rather the Emacs (or Gnus) of all calendar-software; one you could use at home, at work, in your palm, offline, online,
Another feature I would find useful is profiles; cf. Nokia phones or Debian's
It would need to have some sort of a filtering capability, as well as some prioritizing options for appointments. Example:
At work, I'd see all the work-related appointments, and all the others with priority 1. At home, I'd see all appointments relating to freetime, all public appointments on my gf's calendar, all 1 priority TV shows.
There's a whole lot more ideas, but none of them is IMHO as imporant as the ones listed above.
[ Antti Rasinen ]
I have been a user of both a Palm Pilot and Lotus Notes [calendar too] for some time. Many large companies are using Notes + calendar and now have Palms as well. Support of both of these is important, but support for the private fields and records of both are also important.
That which does not kill me only makes me whinier
Those features would definitely do it for me. In fact, I'd like to work on it. I'm one of those alpha software freaks anyway and I've been searching for something good, but didn't have the time to start from scratch.
All I ever want is an address book that will function for everything....scheduler, palm pilot, email, ete.
I dislike the high prices and general tone of the site, but this is as close to what I've done with paper planners for myself. http://www.harvardplanner.com The salient features are: not only do you get structured (down to 15 min. or less) planning, but also space for weekly, monthly, and yearly tasks, as well as a place for a mission statement. It helps sometimes, if you have space for the larger picture, so to speak. Also, for a personal organizer, I've always wanted one that integrates expense tracking as well (H.P. doesn't): it's a lot easier to write down "Lunch, $4.95" while you're eating lunch, rather than have to flip over to another section/use a different program. Just a suggestion...
teleny, friend of cats.
I know one of the features we use extensively is the ability to schedule meetings in our timezone but our team members in Europe or Asia see the meeting time properly for their timezone.
I hate having to think about adding 14 hours here or subtracting three hours there to figure when the event is for someone else.
As easy to use as the ical program (I liked Todo lists, graphical setting of appointments and warnings). Ability to send e-mail warnings to my cellphone so I don't have to carry it and a PDA w/ appointments. Way to extend repeat options (every 8th day, the two Thursdays before 2nd Sunday, are ones I need). Share calendars like Outlook Express. Reliability, unlike Outlook Express.
I believe we should try to start a movement to use slowly transfer over to the myan calander. it is much more accurate and way more bad ass. this would also separate church and state that much more. (a problem where I am from (utah)).
One thing I've always wanted in Exchange and other Scheduling is the ability to overlay multiple calendars. Let's say each person in our team has their own personal calendar and I want to look at all of the calendars to get an idea of what to expect over the next few weeks. I should be able to open all of the calendars and then overlay them to see a compilation of all the appointments, meetings, etc. Thanks, Steve
We already created one in our company for internal use for Lawyers. It is web based and uses ASP pages to generate views. It is based on a CMSOpen database. It can sort Calendar views by Practice Area, Client Matter Numbers, or Personal views. It has a monthly and daily view. It has hyperlinks to detailed information, and also hyperlinks to client and matter info if it applies.
We send out reminders with an external VB program that reads the database and uses MAPI to send the messages. On the calendar a user can use the ASP page to do a calendar request via another ASP page, which sends e-mail via Outlook to the people that do the data entry administration of it.
I'd show you what it looks like, except we are on an Intranet and we are not supposed to give out what our products look like as they are for internal use only.
Our next phase is to integrate the calendar with Outlook so that if a change is made in the database Calendar, it also gets made to the Outlook calendar. A very tricky one to do.