Qia mdx Reader as File-based Application

File-based Workflow

From desktop computer, web browser to portable or mobile smart device, there come many different ways for users to interact with electronic contents. Among them, there are two general big categories: file-oriented and application-oriented. (File-oriented may also be mutual explained with names such as file-based, file-rooted, data-oriented; and application-oriented may also be named as application-encapsulated.)

One example to make the terms clear would be music. On the Internet, there exist many .mp3 or .wav music files to download. And there are also many applications which encapsulate music inside. If a user wants to listen to a song, there can be two choices: option 1 could be downloading the music file, maybe with file extension .mp3 or .wav, and open it with a music player such as VLC; option 2 could be launching Spotify application or browsing Spotify website, searching with the song name and clicking the play button to listen. Option 1 is the so-called file-based and option 2 is the application-based.

Apart from all the topics around copyright, data ownership, steaming, subscription, purchasing, renting, cost and so on, users use computer for a reason - for work, for learn, for entertainment, for content consuming, for a workflow.

Reading is one of the most important activities in many people's life, so does it in mine. Just like listing to music on Spotify or Apple Music, there are also many applications which provide reading services, such as Amazon Kindle and Apple Books. These are application-oriented. There are many advantages by using application-oriented workflow, while file-oriented workflow could also have better portability and
reading experience in terms of freedom when there is a need to work on multiple devices or there is no Internet connection.

As the foundation of ePub, web technology is one great way to typeset content and there exist a huge amount of web pages which are of high value to read. For software development, many programming languages and programming libraries provide documentation websites. Led by Dash, there are several applications which provide the option to offline documentation websites. It is really convenient to use these applications to read documentations when there is no Internet connection. However, Dash doesn't work on Windows. Therefore, being application-oriented solution, no Dash on Windows causes an obstacle. To be fair, there is indeed another Windows application which consumes Dash's offline document sets, but this is a lucky situation thanks to Dash's generosity to allow other application to download the documentation sets from their severs and others re-implemented the "Dash" on Windows. However, this lucky situation doesn't work for Apple Music or Apple Podcasts, although I guess it is more because of the copyright issues of music. How could there be a better solution to the cross OS portability? Still using Dash as an example, documentation sets are in fact just htdocs which can be consumed, rendered or displayed by any modern web browser. So, how about regarding documentation sets as OS and application agnostic packed files? Sounds good! Packed files can be copied from and to devices easily either through USB sticks or synced via Dropbox. And how to consume the packed files? What if Dash on macOS and other application on other OS are reader applications for the packed files just as Adobe Acrobat Reader for .pdf files? Also good, in this way, Dash doesn't have to open download API for other applications.

How about the packed documentation files with a specific extension instead of the general .zip? Yes, there comes the .mdx.

The .mdx File Extension for Packed htdocs

For clarity, htdocs standards for HyperText related files which can be consumed by web browsers. It is also famous for being the default directory name of Apache HTTP server.

To be honest, I would more prefer to use .htd. However, I just happened to know there are some tools which can pack and unpack HTML snippets into a single file which ends with .mdx. To give respect to these tools, I continued to use the file extension .mdx.

What is more than justing packing HTML snippets into .mdx suffixed file? There is an index of keys which also makes the .mdx a great data file for being used as dictionary database.

More for .mdx File as Dictionary Database

There are several great applications which can take .mdx files as databases in library as data sources. One best of them is GoldenDict which is a dictionary look up program and aggregates many dictionary data sources (databases, Web API and so on) and provides a single search input for users to query all matched entries in all dictionary sources.

Qia mdx Reader

Being a reader application for .mdx files, it is natural to open .mdx just like Adobe Acrobat Reader to open .pdf files.

Among file-based application, how many ways of opening files are there supported by Qia mdx Reader? Currently, all of the 3! The all I think as typical or necessary to implement.

The 3 ways to open files:

  • double click on file to open
  • drag'n'drop file to application window to open
  • choose file in file dialog to open

How does Qia mdx Reader look like currently? As the following when in dark mode.


How are the other aspects of Qia mdx Reader? To be continued...


* cached version, generated at 2024-01-08 22:20:25 UTC.

Subscribe by RSS