computing

l10n proper names

Deep Excel

Actually this should be called DEEP 1-2-3, or perhaps DEEP SHEEEET.

Introduction

One interesting observation about the business world is that managers love Excel. They want to use it to do everything. Except that Excel is not ready to do everything, however Microsoft is trying to beef it up.

Specifically, what is Excel used for?

  • Tallying numbers
  • Creating forms
  • Simulating models
  • Analyzing data
  • Creating reports

Pretty impressive.

Open source rapid Web application development

Small business software systems typically exhibit low domain complexity. Business problems are recurrent across industries and geographic boundaries, there are little or no algorithmic challenges, analysis models are converging towards standardization, and the required functionality is well-documented and often-implemented. In spite of this, we find that business systems are still expensive, monolithic, user-unfriendly, hardly extensible or integratable. Even the current generation of open source business software exhibits these properties.

Information staleness

Bookmarks reminders

Take a look at your bookmarks in your web browser. How many of those articles have you actually read? How old are these bookmarks anyway? Do you remember why and when did you bookmark that page so that you can come back to read it later ?

Too many unorganized and outdated bookmarks is a problem we all face. I am thinking of a system where one can set a reminder and/or an expiry date for the bookmark when adding it. i.e.

Moerae: Threads of activity

Humans perform activities. I like to think of activities as made of threads, a potent word referring to continuity in time, causality and intentionality.

As our activities become more automated, it is important to keep their thread-like aspect intact in digital form. Project planning and tracking software is a typical example of this approach. But these systems impose too much rigour when entering data, making their use difficult in many setups including small organizations.

What is proposed is to create an unstructured and easily-accessible system to describe group activities in the past or the future. The data model should be generic enough to allow reporting along several dimensions: personal timesheets, resource utilization, progress reporting, chronology, etc.

The unified computing environment

We use computers to perform a variety of seemingly unrelated tasks. In this sense, the computer acts like the craftsman's workshop where he keeps the tools necessary to practice his work. A good craftsman will create in the workshop an environment conducive to better work. Similarly, the software craftsman needs this conducive environment, that matches in abstraction the nature of the raw material being used: information.

So let's daydream a little about a software environment that would let us better do our work. We will find that most tools already exist and do exhibit a tendency of converging towards unification.

Legal document tracking

Legal documents represent relationships between people. For example, a power of attorney (تَوكيل) embodies the information that someone else can impersonate me in specified situations. It is important to track legal documents, especially in the context of an organization where such legal relationships become numerous and difficult to trace manually.

A legal document tracking system would be able to answer such questions as: Who can perform such task on my behalf? Who can such person impersonate? When an employee leaves the organization, it is important to remove all his powers of attorney. Etc.

wav2xml

Take an MP3 file, extract the instruments performing the music (as well as the singing - we're dreaming anyway) and convert this information to sheet music in MusicML format for example. The Melisma Music Analyzer seems to be performing part of this function.

The first application of such a technology would be to find music by content: humming a tune to the system, which would then search for a similar melody in its database. Or input a partial mp3 file to find its reference. This is becoming a hot topic, as witnessed by the Google results. Existing systems are starting to emerge, like this one.

Extensible digital library

A system to help researchers to quickly find and synthesize information. The system would index large quantities of e-books. Users can query the index, save their searches, keep bookmarks, and add their notes. System should be groupware-enabled. More advanced features include classifying books (or parts thereof) by topic or keyword, and writing summaries or reviews. Another interesting feature would be to create relationships between books (or parts thereof). All those features should be queriable. Custom queries can be added, as well as custom views of the results.

Important components: indexing system (Apache Lucene) and various format plugins (e.g., PDF, DJVU, CHM). Also, standard document structure (Volume - Chapter - Section - Paragraph) should be used. This will add the ability to search for structural information in addition to textual information (e.g., find the word "Jupiter" in all chapter titles).

Reusable data models

Every time we design a new application, a major part of the work is to come up with a data model (i.e., information structure) for the application. With time, however, we discover that most data models are similar for similar application domains. This realization led to the creation of universal data models for the enterprise, which seem to prove both useful and successful. Among others, these models (or variants thereof) are used in OFBiz among others.

Syndicate content