Quite recently, a new routine was added to the website. These routines are awesome and useful, but some of these routines are cumbersome in size, complexity and flexibility. The routine below can take Str0 with up to 1000 10-letter words, each after a numerical label between 000 and 999, and produce Str1 based on the variable A.
:1→A :"000worldhello001helloworld"→Str0 :sub(Str0,3+inString(Str0,sub("0123456789",iPart(A/100)+1,1)+sub("0123456789",10fPart(iPart(A/10)/10),1))+1,1)+sub("0123456789",10fPart(A/10)+1,1)),10)→Str1 :Disp Str1
This is a great ability to have, but when you are putting 10-letter words with 3-digit labels into Str0, the maximum string length (on the ti 83+ emulator), I have found to be a little larger than 8000, which accommodates about 600 10-letter words, which can be a huge problem if you are using intricate lists, matrices, loops, programs, techniques, etc. Also what if you already use strings a lot in your programs? you could have a huge stringy problem.
BUT, what if you take the string index routine, and create an app that integrates the subroutine above and creates strings, beyond Str0 - Str9, but in app var form, that are nameable and can be accessible through a command already present on the ti 83/84/+/SE, a command such as conj( ?
I believe that an app can be made to: create app vars that can be used as strings EVEN WHILE ARCHIVED, access the subroutine above, name app vars and strings, and perform other useful subroutine functions that are complex or simple, much the same way xlib does.