View Single Post
Old 09-10-2017, 07:32 AM   #18
rfog
Guru
rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.rfog ought to be getting tired of karma fortunes by now.
 
Posts: 696
Karma: 2383012
Join Date: Aug 2007
Location: Schiedam (The Netherlands)
Device: Lots of eInk devices and iOS stuff
For my experience, re-writing code is not the best solution to resolve the old bloated code. New code will start clean but it will be bloated in a short time. As a metaphor, your old house lacks integrated heating. You rebuild it and after you have done, you want air conditioner and didn't left the circulation pipes. Then you star making holes in your wall/ceiling and end with a new house with a perfect heating solution but a patched air conditioner, and you will want start over to find you didn't prepare your third house rebuilding with support for solar panels...

Normally, when I read a software has "been rebuilt form new source code" I automatically think: new bugs and feauture lost, as it happened with Marvin. The solution for bloated/buggy/old code is slow refactoring while adding new features and resolve bugs. Sometimes source is the same and they only clean the face, as a marketing technique to convince customers to pay for the same thing a second time, because current Store model is completely broken. If you are used to Spanish you can read my last article about this, or can use an online translator.

(Currently I'm in charge of about 4.5 millions of lines of code in C++, and before each new feature I take an old part of the code and refactor it, improving and updating old parts of the code. If tell my employer to star over he will die of heart attack).

I'm afraid making Marvin work in Android/Windows will be a very difficult task. I assume Marvin is donde in Objective-C, and the only compiler I know for that in Windows/Linux is GNU one, and to say softly, is a piece of crap. Not to say of the API of each platform, completely different. Perhaps separating Marvin in two parts (backend/frontend, as it is done in CoolReader), and doing the backend in C++, perhaps and only perhaps, could be done. With a lot of effort.

The other solution is use one of the available multi platform toolkits. As a summary, all of them are crap, and the less crappy have important annual fees, like QT. (Yes, QT could be Open Source for Windows, Linux and MAC, but the interesting things are proprietary, and for mobile platforms the cheapest solution is about 600$/year for platform).

However, porting Marvin to MAC won't be a big task, and I think Kris could do it with not much effort.

Based on Marvin, what I would like to have is:
*File system based in iCloud, then all books will automatically be available in all devices.
*Synced of reading, bookmarks, comments, configuration, etc.
rfog is offline   Reply With Quote