Page 1 of 2

Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Thu Nov 02, 2017 7:46 pm
by GeorgeMcGinn
Hello,

This is a strawman. It is an idea that may seem outrageous, and as a strawman, it is designed to be battered and beaten up and discussed until either it is proven useless, or plausable and worth further reseacrh. I give you this definition because 1) I don't want anyone holding back, as a strawman is supposed to be torn apart so something constructive comes from it, if possible, and 2) I don't take it personally, because I admit that in certain aspects of MAC/OS I am a noob, and recognize that.

STRAWMAN: Alternative to Dropbox
We use dropbox for many reasons. Share code and objects (considered all binary filetypes); As storage for backups and large files; To transfer files that we cannot do via IDE. For example, source files can be cut/paste from anything from an email to even an open file in Dropbox, iCloud, or any app that allows it. However, this can be time consuming if a program is large, and like the way I program, I love LIBS. Which means you may need to copy 20 individual files instead of one large one.

But images, music, other binary type files cannot be cut/paste so easily. Here is my suggestion on something I have been specing out, and I know there are smarter minds out there who can contribute.

IMPORTANT: I don't accept "It can't be done" without a reason. So if you say that, please give a reason, otherwise I won't be so kind to you. Below I share my knowlege and ignorance, so this is not a time to be terse, as we are trying to salvage this great product. Yes, while I program in other languages, including TechBASIC, who Mike has told me his updates are going through (with some issues of arbitrary rules applied by Apple, I present the following:

As far as I know, we can still use cut/paste from our fourm to copy code. For most of our programs, this is how we do it, as the select all or select code feature does not work on my iPad.

My suggestion for a new, or modified approach to removing Dropbox is this.

1. Remove Dropbox completely from SmartBASIC as Apple requested.

2. CLIPBOARD is still valid according to Apple. I suggest we use it. My understanding, and this is where I want to hear differences of facts, not opinions, is that when you do a COPY, it goes into the CLIPBOARD.

3. Either by email or from the forum, with large files, mixed filetypes, and/or to preserve directory struture, the programmer, using SmartBASIC (from a utility yet to be written) can create a GUNZIP file. My understanding is that in a SmartBASIC program, you can copy that file TO and FROM the CLIPBOARD.

4. Either by email or a post on the forum, using a third party App, create a GUNZIP file (Program such as File Manager, or I think there is (or was) a GUNZIP specific utility to create these files, and it allows you to export them into other Apps.

5. Changes to the IDE can be made to allow for an IMPORT command. This can be a solution in and of itself. Unless we have not been given the entire picture of the situation with SmartBASIC, I must assume that Apple's main issue is that a running program can, since the product does not compile and run object code (I know it as linkedit binaries), any text file can become a program that is executable, hence the fear of a hack or jailbreak is driving this. The IMPORT command in the IDE will only be able to import Images, Music, Midi, or Video files, and can be restricted to specific filetypes if necessary.

6. Regardless of the function or if the IMPORT command as part of the IDE is something that can be done (to save a product, saying it will take a lot of time to write this is not an excuse, as I an many would gladly pay more to get this new version, as many have invested more than time, many are supplementing their incomes with Apps, either published on iTunes, distributed AD-HOC, or like I did, I had those who wanted me to write programs BUY the product so I can give them either the source code or .cod file and they can run it by copying all the elements from my emails.

7. Images can be downloaded using the ALBUM statements with SmartBASIC. However, to get this to work for others, I would need to investigate whether or not I can create a SHARE in PHOTOS. I do know that some 3rd party Apps allow creating a SHARED directory. More research into its feasiblity will be needed.

8. GUNZIP. SmartBASIC as the ability to uncompress this filetype. What follows here can make all the other parts of this STRAWMAN a mute point. First, create outside of SmartBASIC a GUNZIP file that can be copied into SmartBASIC's IDE. I suggest that an App be written in SmartBASIC to run outside of it and create this GUNZIP file. With an application-extension, allow this app to email this file to the programmer. The programmer can then copy/paste this file from his email into the forum, or setup a website (I believe, but may be mis-speaking, but the forum code used by us can run on your own server. I can supply the server, as I have two of them). The following 8's are options, and can be mutually exclusive (or combined, but I am writing them so that maybe one can work).

8a. The SmartBASIC IDE must be able to allow cut/paste of entire files, not cut/paste into an already open file. Whole files must be allowed to be cut/pasted into the IDE. This way, the GUNZIP file can be copied/pasted whole.

8b. If COPY does put the file into the CLIPBOARD, then regardless of where the file is (email, forum or website), the programmer does a COPY of the file, then a SmartBASIC utility is written to create the file from the CLIPBOARD. Then either the ultity that PASTED it into the IDE can also uncompress it, or a separate utility can be written to do this. There are obvious advantages to both. (The program that loads the GUNZIP file can copy to the CLIPBOARD the location and then RUN the separate utility, this way they can be both run as one, or separately as needed. This option will then unload all the assets including source code. And since this is done outside of Apple's control, and it not part of the OFFICIAL product release, there should be no issue approving the App. The utilities should reside on the Forum only, and COPY/PASTE into the product once its needed.

This is just the start of a document that many of us can help mold into something that can work and accomplish what Dropbox does for us today. As a career Computer Scientist, who developed processes when none existed, I know this can be accomplished. I know programmers here so talented, that if I was still managing software development, I'd hire you on the spot. I've seen your work and we have some very impressive minds and talent here.

I also want to say to Mr. K that we need you to be part of helping us solve this issue instead of dismissing outright anything because of whatever reasons. I know we've butted heads from time to time, but you are the ultimate expert on this product, and your customers are asking for your help, contributions, and guidance, not your outright "can't be done," at least not without a why.

I learned very early on in my career as a systems programmer, that anything can be done. We had a "will do" or "nothing is impossible" attitude. If Operations or the Applications department came to us with a request, we accomplished it. When at Bankers Trust, General Motors wanted to allow their employees access to their 401K's from computers in the lunch and breakrooms. I heard one after another say "it cannot be done," and I said BS. I can do it. I was the first to allow a Visual BASIC program to interface with a Mainframe CICS system, and we got GM as a client, and I was the first to code an interface allowing PC's to talk to MF's. And I did it for GSM later on. I, and not Apple, developed the first program on a SIM card that allowed you Europeans to use your phone to buy groceries, gas, even items from vending machines back in the 1990's. That was a first in the industry too.

So if we are going to solve this, we do need more than a one-liner answer. I am hoping we all take this seriously, for I'd hate to have to solve this issue on my own. It will take longer without your help. As you all know me, I am not afraid to code the tough stuff (Henko, I have the division for long numbers working, I am just not finished testing all the test cases I have set up – which right now stands at 100 cases), and I am willing to do my part in solving this issue.

I hope that this is taken seriously, for so far there has been nothing on how to replace Dropbox except for those of us, including me, who refuses to upgrade to iOS 11. I want this product to continue, even if I have to offer to buy it myself and make the changes. Many of us have too much at stake here, expending time and money developing with this App.

We have some GREAT programs written by very talented programmers. Programs that are not even found on the App store! So I know we can collectively come up with a solution to this issue.

On another note, I know we have also issues with changes to ' to forward/backward qoutation marks that my keyboard does not have, as well as changes to the CHR$ in other areas as well. This needs to be solved by changes directly to SmartBASIC itself. We can use Rbytes Substitution program, but it needs to be changed so it keeps track of when to apply a starting quote from an ending quote.

Hopefully, when someone puts a quote within a quote, they used the single-quote character, an no quotes within a quote within a quote, otherwise they will have to fix that by hand! (I haven't forgotten about you Rbytes, but I wanted to address the elephant in the room, the removal of Dropbox and solutions to replace it that are no within Apple's perview.

George.

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Thu Nov 02, 2017 7:57 pm
by Mr. Kibernetik
It is an interesting idea about clipboard, George.

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Thu Nov 02, 2017 9:22 pm
by GeorgeMcGinn
Thanks. I use Clipboard like the COMMAREA in CICS. I can set up clipboard to know what program called it, pass it data and where to return or the next program to call. Works great. I figured there must be a way we can use it to do what Dropbox does, but I need help with ideas, and those who have used it the way I'm suggesting.

Thanks for the direction to look at.

George.

Mr. Kibernetik wrote:
Thu Nov 02, 2017 7:57 pm
It is an interesting idea about clipboard, George.

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 10:44 am
by Henko
Hello all,

Our problem can be defined as follows: how can one SB programmer put one file or a combination of arbitrary kind of files into a place where other SB user can pick them up and implement it/them into his own SB sandbox?

The problem can be greatly simplified if we can restrict it to only one file of unspecified nature. The solution to that is a set of SB programs, "PACK" and "UNPACK" to pack a number of files of arbitrary type into one packed file and to unpack it when the packed file has arrived at its destination.
Each file in the packed file should be predecessed by its filename (and path in a more advanced version).
Adding a file to an existing packed file should be based on the byte-level READ and WRITE statements.

The PACK command would require the filename of the packed file and the filename(s) of one ore more file(s) to be appended to the packed file (if the latter does not yet exists then it is created). As an alternative, the PACK command could use one of the nice file managers that are developed or be embedded in one of those. Special codes must be established to indicate the start of a filename (say "#ns") and the start of a file body (say "#fs"), or some ascii codes in the range 0X. The packed file would thean have the following lay-out: #ns,filename,#fs,filebody,#ns,filename,#fs,filebody,#..... and so on.
A fileheader might be defined for the packed file type, but as yet i don't see a necessity for that.

One could start with a simple version, i.e. filenames without a path. In this case the UNPACK function is rather simple. All files will be placed in the directory where the packed file resides.
The version with path names eliminates the possible necessity to create directories by hand and putting every file in the appropriate directory by hand, but the problem is that the packed file contains its own directory structure, which must be merged with the home SB structure of the user. This requires good thinking about the design.
Coding those PACK and UNPACK functions do not seem very difficult to me.

A last remark about this part of a solution: GZIP and GUNZIP have no contribution, as GZIP does not append files to a zipped file, but simply replaces the file. Large packed files could of course be zipped to reduce the volume, but that is not essential.


On the second part of the problem: where to put a packed file, there are a number of possibilities, already mentioned in the discussions. CLIPBOARD would be a nice, but it is LOCAL in the user's device, and reading data from the clipboard does destroy it there (a bit like quantum mechanics), Hence it should be modified. An easily recognizable remote clipboard in the "cloud" would probably upset Apple to the highest degree.
What about the possibilities of the SB forum? Currently files from the photolibrary can be attached and there is the dreaded link with DROPBOX. The latter could be replaced by the possibility to attach (a link to) a file of arbitrary type (which we would know is in fact a packed file). I don't know where the file itself is stored (forum server?), anyhow somewhere.
I've seen other solutions in the discussion, making use of the SB browser (simulating FTP ?) i'm not good at internet bussiness.

My 2 cents in this discussion

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 10:59 am
by Dutchman
Henko wrote:
Mon Nov 06, 2017 10:44 am
The PACK command would require the filename of the packed file and the filename(s) of one ore more file(s) to be appended to the packed file
Your "PACK"-command is already made, together with "UNPACK".
See "MakeInstall" at viewtopic.php?f=20&t=2030
However, it did not get any attention :(

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 11:45 am
by Mr. Kibernetik
Henko wrote:
Mon Nov 06, 2017 10:44 am
What about the possibilities of the SB forum?
SB Forum cannot be used as a transshipment base to transfer files between local file system and sB because its storage resources will be depleted very fast.

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 12:37 pm
by Henko
Dutchman wrote:
Mon Nov 06, 2017 10:59 am
Henko wrote:
Mon Nov 06, 2017 10:44 am
The PACK command would require the filename of the packed file and the filename(s) of one ore more file(s) to be appended to the packed file
Your "PACK"-command is already made, together with "UNPACK".
See "MakeInstall" at viewtopic.php?f=20&t=2030
However, it did not get any attention :(
Ok, then that part of a possible solution is already entirely solved :D
(And if this kind of solution is chosen, your work on "makeinstall" will get its merits after all ;) )

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 12:45 pm
by Henko
All we need further is a FTP-like facility operatable from out the SB sandbox to some server (George's?) and we are done. :lol:

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 8:06 pm
by GeorgeMcGinn
I disagree in only that we already share code and assets via the forum already.

And I have a possible solution that we have pieces to, we just need to put them together in what Henko says in a PACK and UNPACK program, but I think the D&DBrowser has the answer to our problem. My post will follow this shortly.

George.
Mr. Kibernetik wrote:
Mon Nov 06, 2017 11:45 am
Henko wrote:
Mon Nov 06, 2017 10:44 am
What about the possibilities of the SB forum?
SB Forum cannot be used as a transshipment base to transfer files between local file system and sB because its storage resources will be depleted very fast.

Re: Possible Workaround to Dropbox - Strawman & Call To Arms

Posted: Mon Nov 06, 2017 8:10 pm
by GeorgeMcGinn
Start of Solution to Dropbox

I spent the past weekend looking at a possible solution to losing Dropbox and it is staring us right in our faces, and we use it to to both share code, text, photos, but even links to Dropbox.

For those who are new, we use Dropbox when we have many parts to a program we are sharing - source, many libs, images, music files, data files, text instructions, and more.

However, Mr K's comment about the Clipboard being a very interesting idea got me thinking and since I was considering that as one of the possible methods of transferring so I searched for programs that used it outright or in a manner of someway. I direct you to the following posts:

* To understand the solution proposed, please read the following posts:
* D&D Browser: viewtopic.php?f=20&t=2029
* Browser With Download Facilities: viewtopic.php?f=20&t=1953&p=12289&hilit=URL#p12289
* Web Downloader: viewtopic.php?f=20&t=1885
* Resolving URL System: viewtopic.php?f=20&t=1636&p=10029&hilit=URL#p10029
* System Attendant v1.5: viewtopic.php?f=20&t=1514
* MakeInstall program: See earlier post below.

Among these posts are pieces of what we need to do to create our own File Management System that combines System Attendant with the features from the original Browser (which became the D&D Browser) and a compress and uncompression feature (MakeInstall).

The D&D Browser and Browser works with our forum and downloads all source, photos, files, and probably music as well, taking them from the forum and placing them in a directory in the IDE.

With just the forum being used as it is now, we can modify the browser with portions of code needed from the other examples that will copy all code and assets needed directly into the IDE, and no longer need Dropbox.

The only part of Dropbox use is storage, and that we need to look at GUNZIP files, send them to the CLIPBOARD, and then you can copy them to Dropbox or any other cloud storage. To get it back into the IDE, you will need to post it to the forum. I tested this in a limited basis and it works with private messages, and even will pull code from the website Stackflow.

Please look over this idea, and comment on it. I need to know what I am not thinking about, or don't know about.

Thanks.