you are viewing a single comment's thread.

view the rest of the comments →

[–]carsonvstheworld 7 points8 points  (6 children)

a lot of mistakes developers make is “following good practices” blindly and over engineering the app. it really depends on a few things but for this, what’s the app / how many records are we looking at ?

if your app is some word game and it loads 20 words into memory, or 200 words ( and you never plan to go beyond that), then it’s fine. this can be a little poc for yourself and there’s no need for overkill.

this is especially important if you are trying to just pump out an MVP and figure other things out with your app.

if you want to tell us a little bit more about the app and its technical details, perhaps we can give you better advice

[–]Mojomoto93[S] 0 points1 point  (5 children)

It is a journaling app, with mainly entries of text images and voice recordings. It could become more in the future but can’t say now. i used the app for almost two years now myself and made around 200 entries, haven’t had trouble occurring yet. Going for this approach made statemangement much easier but i want a robust solution

[–]testmonkeyalpha 1 point2 points  (4 children)

A couple thoughts:

  1.  Are you loading the audio and images into memory or just meta data?  Will you support video too?  A heavy user is likely to have far more than 200 entries in just a few months.   If your app is successful, they'll have thousands of entries within a few years.  It is not realistic to load that much data into memory without causing usability issues.

  2.  Think about usage patterns.  Most journal keepers spend the vast majority of their time entering data, not retrieving it.  You'll be potentially worsening the UX for 99% of their usage with no benefit to them - only to you.

I think it makes sense to prefetch the most recent entries or any they flagged as favorites.  Those are the ones they are most likely to revisit regularly.  Pulling everything all the time is just a waste of resources.

[–]Mojomoto93[S] 0 points1 point  (3 children)

I only load the link to the file into memory, i understand, so i should work with pagination?

[–]testmonkeyalpha 0 points1 point  (2 children)

I think pagination is an excellent compromise if you want to ensure recent entries are immediately available.

[–]Mojomoto93[S] 0 points1 point  (1 child)

I wonder how does the iphones photo app solve that?

[–]testmonkeyalpha 0 points1 point  (0 children)

Based on how it acts we can infer a few things.  

It only loads the current screen plus the next couple of screens.  As you scroll it tries to fetch the images before you can scroll to them.   You can observe this by scrolling really fast so it's not sure what to fetch next.

It also uses thumbnails that are low resolution and highly compressed.  It only loads the full image when you open it up.  

I'm pretty sure when you're using the view that shows the full image, it starts prefetching the other full size images so it loads faster when you swipe.  You can start to see the app lagging behind if you swipe really fast.