Sometimes you invent things, and you’re not entirely sure what it is in the beginning. Maybe you feel it’s really brilliant, but you cannot clearly see all of its use cases initially. And the more brilliant and innovative whatever you invent is, the more this tends to happen. Magic is like that to me.
One thing that has dawned upon me lately though, is that Magic is a really good second level support tool, for editing records in your databases. Often we have problems originating from data in our apps, and we want to browse through our data, without having to write weird SQL. Maybe we even want to update a record, and we’re not sure if your SQL will update one record, or 20 million records. Or maybe we want to delete a record (sigh!), and we’re reading our SQL 15 times, having two other developers reading it too, making sure we don’t empty our database table in production as a consequence of a typo in our SQL. There is a reason why most developers have only read access to the production database – If even that …
For such scenarios Magic is really, really good. For instance, at my day job, we keep localised words and phrases in our database. Then we send its English version to some foreign person, who’s not a software developer. He edits the translations records using Excel, and later we import his translations as CSV files into our database. Highly manual type of work, very tedious, and very sub-optimal.
With Magic, we can simply allow our translator to access the production database directly, through some kind of Magic app, giving him or her only access to our translation tables, and he can edit it directly using his browser. Without fearing he’ll mess up things, or forcing him to learn SQL may I add.
Can you find other use cases for the thing …?