<?xml version="1.0"?>

<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>litchie</title>
        <link>https://litchie.com/</link>
        <description>App development and random thoughts.</description>

      <item>
          <title>iDOS 3 is approved finally</title>
          <pubDate>2024-08-09 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2024/08/idos3-approved </link>
          <content:encoded><![CDATA[<article>
  It has been a long wait for common sense to prevail within Apple. As much as I want to celebrate, I still can't help being a little bit cautious about the future. Are we good from now on?
  <p>
  <a href="https://apps.apple.com/us/app/idos-3/id1580768213">Get iDOS3 on AppStore</a> 

  <p>I hope iDOS can now enjoy its turn to stay and grow.

  <p>P.S. Even though words feel inadequate at times, I would like to say <em>thank you</em>
  to the supporters of iDOS. In many ways, you keep iDOS alive.

</article>
]]></content:encoded>
      </item>

      <item>
          <title>iDOS 3 waiting for review (rejected)</title>
          <pubDate>2024-04-14 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2024/04/new-hope </link>
          <content:encoded><![CDATA[<article>
  <p>Earlier quite a few iDOS users and supporters reached out to me to let me know about the recent AppStore policy change (Thanks, EU).
    In light of this, I decided to resubmit iDOS.    

    However, it looks like Apple has blacklisted iDOS 2, preventing me from even requesting
    a review under that title, and I had to submit under a brand new title "iDOS 3".


  </p>
  
  <p>    Here's where things got interesting.
    Initially they rejected the submission because it was same as iDOS 2, but after I explained to them that I can not continue under iDOS2,
then they rejected again as "Design spam" on the basis that there has been many submissions lately with the exact same design.
    </p>
      <p>I don't actually care much about the copycats, but just can't understand why it's difficult for Apple to check my account history and tell which is the original. It's a little bit insulting that I had to tell the story to them time and time again and yet the issue is unresolved after 1 week.
      </p>
        <p>For the people that are waiting, I am hopeful that we will sort it out eventually. And if everything indeed goes well, there will be updates coming to justify this version bump.
        </p>

	<p> <em>Update 2024-05-08</em>: "Your app is in review but is requiring additional time." Makes me wonder if the reviewer is trying to play a game through.
	<p id="nope"> <em>Update 2024-06-15</em>: Got a call from Apple after 2 months. They have decided that iDOS is not a retro game console, so the new rule is not applicable. They suggested I make changes and resubmit for review, but when I asked what changes I should make to be compliant, they had no idea, nor when I asked what a retro game console is. It's still the same old unreasonable answer along the line of "we know it when we see it".
</p>
<p><em>Update 2024-07-14</em>: Got an email from a user about the recent approval of <a href="https://www.theverge.com/2024/7/13/24198015/apple-utm-se-pc-os-emulator-for-ios">UTM</a>. Given iDOS was rejected based on the same reason previously, I resubmitted for review and was rejected really quick: "The app still provides emulator functionality but is not emulating a retro game console specifically. Only emulators of retro game consoles are appropriate per guideline 4.7.". Really hard to guess what is going on in their mind. </p>
<p><em>Update 2024-07-16</em>: Appeal was rejected by App Review Board: <i>"We understand that you might disagree with our findings. However, the app still provides emulator functionality but is not emulating a retro game console specifically. Only emulators of retro game consoles are appropriate per guideline 4.7." </i>
As to why UTM was approved but not iDOS, they wrote: <i>"If you believe that you have identified apps that don't comply with the App Review Guidelines, you may use the Report an app form at any time to report trust and safety concerns for apps on the App Store."</i> 
Thanks, but no, that is ridiculous, I have zero concern about trust and safety running an emulator. 
</p>

</article>
        

]]></content:encoded>
      </item>

      <item>
          <title>iDOS 2 will be gone soon</title>
          <pubDate>2021-07-23 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2021/07/idos2-will-be-gone </link>
          <content:encoded><![CDATA[<article>


  <p>I hate to say it again: <strike><a href="https://itunes.apple.com/app/idos-2/id918131840?mt=8">Get it while you can</a></strike>.

    <p>
  Recently I tried to submit an iDOS update with 
  a few bug fixes, but then got a notification from
  Apple Review Team, and my heart dropped cold. 

  <blockquote>
    To ensure there is no interruption of the availability of your app on the App Store, please submit an update within 14 days of the date of this message. 
    If we do not receive an update compliant with the App Store Review Guidelines within 14 days, your app will be removed from sale.
  </blockquote>

  I think it's beneficial to all to understand Apple's reasoning behind this, so I have included the entire message at the end.

  <p>
    Long time iDOS users are aware that we have been able to update iDOS meaningfully since
    <a href="https://litchie.com/2020/09/idos2-update"> last year </a>,
    because we have enabled file sharing access which gives iDOS the ability to run custom games or programs.
    
  We didn't play any trick to fool the reviewers, 
  on the contrary,
  for any submission, we always provide the following note up front to them:
    
  <pre class="wrap smalltext">
HI,

This version enables Document Browser mode, but it
- doesn't download code from internet,
- doesn't provide store front,
- only runs emulation in a small portion of screen.

We are perfectly aware of AppStore policy on interpreted code. The reason of this submission is that there are similar apps on AppStore, running js or python code. In principle, iDOS is no different. No security risk since the user code is running inside emulator within the app sandbox. 

For years, we have been requested by thousands of users to enable iTunes file sharing. They really want their old DOS apps to continue to work for them on their iOS devices. So we think we should try for them.

Please let us know if there is any problem.  </pre>

  <p>Apology to js/python app devs who may be concerned. I was just being desperate.
    That said, somehow the updates always got through,
    and led to the <a href="https://9to5mac.com/2021/07/12/how-idos-app-lets-you-install-windows-3-1-on-your-ipad/"> recent polularity</a>,
    then it may have caught some unfavorable attention inside Apple.

    <p>The bottom line is that I can not bring myself to 
      cut the critical functionalities of iDOS2 
      in order to be compliant with Apple's policy.
      That would be a betrayal to all the users that have purchased this app
      specifically for those features.
      Existing users should still be able to download this app in your purchased history,
      however, if someday you can't and the appstore says "removed by developer",
      it's definitely not my doing.
  
    </p>

      <p>
  <b>UPDATE Aug 10: Apple has removed iDOS 2 from App Store.</b>
      </p>

  <h3>FYI: The entire message from AppStore Review</h3>

  <pre class="wrap smalltext">
  Jul 22, 2021 at 11:15 PM
  From Apple
  2. 5.2 - Apps should be self-contained
  Please review this information carefully as it impacts your app’s availability on the App Store and requires your immediate action.

  Hello,

  We are writing to let you know about new information regarding your app, iDOS 2, version 2.6.2.

  Upon re-evaluation, we found that your app is not in compliance with the App Store Review Guidelines. Specifically, we found your app is in violation of the following:

  Guideline 2.5.2 - Performance - Software Requirements 
  During review, your app installed or launched executable code, which is not permitted on the App Store. 

  Specifically, your app executes iDOS package and image files and allows iTunes File Sharing and Files support for importing games. Executing code can introduce or changes features or functionality of the app and allows for downloading of content without licensing.

  Please note that while educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code, such code may not be used for other purposes and such apps must make the source code completely viewable and editable by the user.

  Next Steps

  - Review the Software Requirements section of the App Store Review Guidelines.
  - Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program. 
  - Once your app is fully compliant, resubmit your app for review. 

  To ensure there is no interruption of the availability of your app on the App Store, please submit an update within 14 days of the date of this message. If we do not receive an update compliant with the App Store Review Guidelines within 14 days, your app will be removed from sale. Please note, if your app is found to be out of compliance for any reason and rejected after the time period provided has elapsed, your app will be removed from sale until a compliant update is submitted, approved and released to the App Store. If your app is removed from sale, the TestFlight version of this app will also be unavailable for external and internal testing and all public TestFlight links will no longer be functional.

  Deliberate disregard of the App Store Review Guidelines and attempts to deceive users or undermine the review process are unacceptable and is a direct violation Section 3.2(f) of the Apple Developer Program License Agreement. Continuing to violate the Terms & Conditions of the Apple Developer Program will result in the termination of your account, as well as any related or linked accounts, and the removal of all your associated apps from the App Store.

  Future submissions of this app may require a longer review time, and this app will not be eligible for an expedited review.

  If you have any questions about this information, please reply to this message to let us know.

  Best regards,

  App Store Review

  </pre>
  
</article>
]]></content:encoded>
      </item>

      <item>
          <title>iDOS with MT32 Emulation</title>
          <pubDate>2020-11-20 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/11/idos-update-v2.4 </link>
          <content:encoded><![CDATA[<article>
    iDOS v2.4 is now available in <a href="https://apps.apple.com/us/app/id918131840">AppStore</a>.
    
    <p>    Forgive me if I didn't implement this feature sooner.
    I really had no idea the difference could be so drastic.
    I never owned a Roland MIDI device before,
    poor me!

    <p>
        Now to enable this feature,
        you need to override midi section in dospad.cfg with
        <pre>
[midi]

mpu401=intelligent
mididevice=mt32
midiconfig=
mt32.romdir=<b>config</b>
mt32.reverse.stereo=false
mt32.verbose=false
mt32.thread=true
mt32.chunk=16
mt32.prebuffer=32
mt32.partials=32
mt32.dac=0
mt32.analog=2
mt32.reverb.mode=auto
mt32.reverb.time=5
mt32.reverb.level=3
        </pre>
        The configuration assumes that you put the MT32 rom files under config directory,
        <pre>
        MT32_CONTROL.ROM    65536 Bytes
        MT32_PCM.ROM       524288 Bytes
        </pre>

        <p>     Not every game supports MT32, and for those that do,
you may need to run their setup.exe to specify MT32 output.
            You better put such games in its own idos package,
            to make sure the configuration won't mess up with other games.

</article>
]]></content:encoded>
      </item>

      <item>
          <title>iDOS UI Redesign for iPad</title>
          <pubDate>2020-11-17 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/11/idos-update-v2.3 </link>
          <content:encoded><![CDATA[<article>
    <img src="/images/idos-ipad-2020.png" class="full-width" title="Holmes">

    iDOS v2.3 is finally available in <a href="https://apps.apple.com/us/app/id918131840">AppStore</a>.
    
    <p>Things we did in the new design:

        <ul>
            <li>Bigger screen in portrait mode, making it more comfortable to play;</li>
            <li>Keyboard in portrait mode has been extended with 6 additional keys: insert, delete, home, end, page up, and page down.
                Now we don't need fn to switch. If you like to write code in iDOS (some do and me too), this will be very convenient.
            </li>
            <li>The landscape keyboard has a thumb key that you can use to slide the keyboard up and down. You can also tap on the thumb key
                to hide the keyboard and show it again. The transparency of the keyboard is auto adjusted so that it's easier to type over the screen.
            </li>
            <li>Dedicated CDROM drive button to mount CD images. On iPhone, we don't have the space for the CDROM drive, so we assign the function to floppy drive button.
            </li>
        </ul>


    There are rough edges which we hope to fix in upcoming releases.

    <p>    
        Personally I find it hard to let go the original design done by Nick Line 10 years ago.
        Hopefully we can come back with a classic theme in future.
    </p>

</article>
]]></content:encoded>
      </item>

      <item>
          <title>iDOS UI Redesign for iPhone</title>
          <pubDate>2020-11-05 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/11/idos-update-v2.2 </link>
          <content:encoded><![CDATA[<article>
<img src="/images/dospad-family.png" class="full-width" title="Yes, we
are still supporting iPhone 4S as long as we can.">

I am happy to announce that iDOS v2.2 is now available in <a href="https://apps.apple.com/us/app/id918131840">AppStore</a>.
This is a major update for iPhone, with brand new UI redesign for
iPhone.  The work on iPad is still going on, but I figure it would be
more safe to release iPhone version first, so we can get feedbacks in
time.

<p>iDOS was first released in Oct 26, 2010.  If you remember well, the
    resolution of iPhone at that time had always been 320x480@2x, a
    lovely number by the way, up to iPhone 4S.  After that point,
    there has been a Cambrian explosion of iPhone screens, and
    iDOS wasn't very good at using the extra screen space.  And
    frankly, there was no point to update UI, since all you can do in
    the app was to play three bundled demos.  Later on, we weren't even
    allowed to update with any bundled games at all.

<p>After hybernating for almost 10 years, iDOS finally can live a
normal life, and now I want to give it all the nice things it
deserves.

<h3>Gamepad</h3>

The gamepad has been totally rewritten, both graphics and code.

Given the larger working space, two more buttons have been added to
the gamepad.  If you don't like them, you can hide them.  Tap on the
small screwdriver icon at the bottom, the gamepad will enter editing
mode.  You can tap on any button to change its keybinding or disable
it.  You can't hide dpad though.

<p>Gamepad buttons can be mapped to a text command. For example, if
    you are a text adventure gamer, you may find it handy to bind one
    of the buttons to <code>LOOK</code>, or <code>INVENTORY</code>.
    You can even bind arrow up button to <code>NORTH</code>, and down
    button to <code>SOUTH</code>.  The key binding of gamepad is saved
    under the config directory of each iDOS package.  So that any game
    can have its own settings.

    <p>Previously, the dpad works only in 4 directions, that is, only
        one arrow button can be down at a time.  Now if you move your
        fingers to the northeast direction, the two arrow buttons, up
        and right, will be down simultaneously.  This makes movement
        control more interesting in games like wolf3d.  </ul>



<h3>Keyboard</h3>

The soft keyboard is also updated with fine tuned layout so that keys
line up better than ever. On tall iphone models, you are going to have
an extra row for all sorts of symbols. If you are using iDOS for
programming purpose, you will find it much more convenient than having
to tap fn all the time.

<h3>Floppy drive</h3>

The floppy drive button can be used to mount an external folder.
After you tap the button, in the file browser, tap select button on
the top, so that the file list enters selecting mode. Then you can tap
on a folder, .idos or not, it will be automatically mounted as disk
D. Right now, it simply issues mount commands, but we hope to find a
better way in future.

<p>
    I hope you will enjoy the new look and the new features.
    Going forward, we will implement the same changes on iPad.
    There are still rough edges, but we will sort them out
    in upcoming releases.


    
</article>
]]></content:encoded>
      </item>

      <item>
          <title>Launching iDOS from iCloud Drive</title>
          <pubDate>2020-10-07 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/10/idos2-icloud </link>
          <content:encoded><![CDATA[<article>
    <p>A new update of iDOS has been approved again by Apple. So clearly they have changed mind about
        emulators.
    </p>
    <p>The update includes some UI fixes as well as a very important feature that allows you to launch iDOS from a folder in iCloud Drive.
    </p>
    <img src="/images/files-idos-package.png" class="full-width">
    <p>
        First we prepare a folder in iCloud drive with the suffix <code>.idos</code>, then put our game files in that folder.
        After the folder is synced to your iPad, you can tap on that folder to start iDOS. iDOS will automatically mount it
        as disk C. Note:
        <ul>
            <li>iDOS should not be running when you launch from idos folder, otherwise it will report an error; </li>
            <li>You can go into the idos folder on Mac by right click and "Show package contents"</li>
        </ul>
    </p>


    <p>
        You can put additional files in <code>foo.idos</code> folder, for example:
        <pre>
foo.idos/
  |-- config/
  |    |-- dospad.cfg
  |    |-- ui.cfg
  |
  |-- scrnshot.png
  |
  |-- game/
        </pre>

        <p>
        The <code>dospad.cfg</code> will be used as DOSBox configuration file. If not provided, a default one will be used.
            You can launch the game in <code>[autoexec]</code> section. For example:
            <pre>
...
[autoexec]
cd game
play
            </pre>
        </p>
        <p>
        <code>scrnshot.png</code> will be used to generate a nice thumbnail in Files app, with the screenshot inside a display frame.
        You can generate the screenshot file in iDOS after it's launched, by tapping on the gear icon button.
        If a <code>cover.png</code> is provided, it will be used as the thumbnail without the display frame.
    </p>




</article>
]]></content:encoded>
      </item>

      <item>
          <title>iDOS 2 Updated</title>
          <pubDate>2020-09-19 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/09/idos2-update </link>
          <content:encoded><![CDATA[<article>
<p>It has been 4 years since the last iDOS 2 update, 
because Apple prohibited not only itunes file sharing, 
but also bundling game files (unless you are the author). 
If we were to strictly follow their guidelines, 
the only thing you could do with iDOS 2 is to play with command line! 
I don't see that such an update could be useful to anyone.

<p>16 days ago, 
<a href="https://github.com/litchie/dospad/issues/90">
DanTheMan827
</a> on github suggested that I should try again 
with document storage enabled.
I didn't have much hope, but did it any way,
stating the change in review notes.
I fully expected to be rejected.
The review took a long time, and I thought it's business as usual.
But today I got a surprise message that the update was approved.

<p>I hope this means AppStore is now open for emulators. However, 
it may be just a mistake -- some reviewer wasn't paying attention
to my review notes. So let's see how it goes. 
If iDOS 2 finally becomes a normal app, 
then we are definitely going to have some more updates coming.

<p>iDOS 2 is now on sale at $0.99. 

<p>
<a href="https://apps.apple.com/us/app/id918131840">
    App Store Link
</a>

</article>
]]></content:encoded>
      </item>

      <item>
          <title>Write Only 2</title>
          <pubDate>2020-07-28 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/07/writeonly2 </link>
          <content:encoded><![CDATA[<article>

<p>I am pleased to announce that 
    <a href="https://writeonly.litchie.com">Write Only 2</a> 
     is now available on
    <a href="https://apps.apple.com/us/app/id1524141551">App Store</a>.

<p>I did a check and found out the original Write Only was first released    
    in <a href="https://litchie.com/2013/write-only">Jan 16, 2013</a>.
    The icon is simply a photo of my typewriter, best birthday gift ever.
    As simple as it is, Write Only has been well received by some fans.
    It's sad to think that 7 years have passed, and I have yet to build another app
as fun as it is. 

<p>The original Write Only even got myself into trouble with Tom Hanks' lawyer, because I manually typed a letter of Mr. Hanks (from @LettersOfNote
)  to use as one of the screenshots. 
Of course I didn't use his name so I assumed nobody would notice a thing.
I dutifully removed the screenshot in question, and forgot about it. 
Many months later perhaps, I learned of a similar (I dare say?) typewriter app from Mr. Hanks. 
I am quite proud that we share same love for typewriters.


<p>I used to write journals with it, but stopped at some point
    because it didn't sync easily. 
    Recently I wanted to pick up the old habit, so I decided to give Write Only a new life.


<p>Write Only 2 inherits the same typewriting interface as in the original 
    Write Only. What's new is that it has iCloud Drive integration,
    with automatic conflict resolution. Also it has much better export options.

<p>Write Only 2 is now on launching sale at $0.99. 

<p>
<a href="https://apps.apple.com/us/app/id1524141551">
    App Store Link
</a>

</article>]]></content:encoded>
      </item>

      <item>
          <title>TeX Writer 6.1</title>
          <pubDate>2020-05-29 12:00:00 +0800</pubDate>
          <link> https://litchie.com/2020/05/texwriter-update </link>
          <content:encoded><![CDATA[<article>
  <p>
  Every two years, we will catch up with TeX Live.
  Previously, TeX Writer uses TeX Live 2018. 
  This year, it's time for an update.
  <p>
  We also added synctex support, so that now you can
  use "View source" in pdfviewer and go straight to 
  tex source. 
  <img width="50%" class="center" src="/images/screenshots/viewsource.png">
  <p>
  Other changes are:
  <ul>
  <li>You can configure pdfviewer's page background by setting
    a variable in your <code>twinit.l</code>, for example:
    <code>  (set! pdf-page-background-color "#f00") </code>
  </li>
  <li>Provide template download for subscribed users. 
    You can choose from our limited templates library or
    from a web url. The downloaded template file will be
    saved to <code>templates</code> folder under Local folder.
    zip file will be unzipped automatically.
  </li>
  <li>Fix some bugs.
  </li>
  </ul>
  <p>
  <a href="http://itunes.apple.com/us/app/tex-writer-latex-editor-compiler/id552717222?mt=8">AppStore Link</a>
</article>
]]></content:encoded>
      </item>
    </channel>
</rss>
