When researching my family history, I occasionally encounter an ancestor whose life deserves considerably more attention than a simple collection of names, dates and places. One such person is my great-great-grandfather, Dr. med. Jürgen Christian Georg Berendsen , born on 19 February 1855 in Schleswig and deceased on 19 April 1932 in Berlin. He lived for seventy-seven years, through a remarkable period of German history. Born in the Duchy of Schleswig before the German Empire existed, he witnessed the unification of Germany, the rapid development of modern medicine, the First World War, the collapse of the monarchy and the establishment of the Weimar Republic. His professional career unfolded during an era in which surgery, antisepsis and medical education were undergoing fundamental changes. But what interests me most is not simply the historical period in which he lived. It is the increasingly detailed picture of the man himself: a child described as physically fragile, a univ...
TOMS - Designing Import and Export Properly: From CSV and Excel to XML, PDF, Calendars, CAD and Open Standards
Import and export initially looked like something I could leave until quite late in the development of my event-planning application. After all, the application already has its own Document model. Guests, Groups, Tables, Seats, contact information, floor plans, images, relationships and event configuration all live inside that model. Saving and loading the application's own Document is obviously necessary, but exporting to other formats could be added later. The more I think about it, however, the more I believe that would be a mistake. Import and export are not just convenience functions added around the edges of an application. They define how the application participates in the world outside itself. A professional desktop application should not become a data island. Users should be able to bring useful information in, work with it, and take useful information back out again. For an event-planning product this becomes especially important becau...