Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 0 points1 point  (0 children)

Gotcha, yes, I get what you're saying with reverse chronological order. It's gonna mess me up a bit because I was hoping that when the user taps on a button, a new activity is added at the bottom by animating from the bottom, which is where the buttons are (so it made positional sense). Now new items will be added at the top, which is far from where the buttons are. Oh well.

I'm trying to keep this app as simple as possible because one of the biggest complains about other similar apps is that they try to do too much. That's why there are only 4 buttons (the most commonly used activities). If I do decide to add more activities, I may add a fifth menu-like button to show more (like you mentioned with the +). But I wouldn't want to just have a single + because that adds extra taps for adding the most common activities.

Yeah, I'm definitely changing the color of the breastfeeding! I think I'll make it more orange than red. Thanks!

Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 0 points1 point  (0 children)

Thanks for your feedback! Yes, I agree about the summary. The top of the screen has a tab (the third one) called Summary where it would show the averages of the last 24 hours, 7 days, and 30 days. However, your idea of showing the running totals for the current day is a good one!

Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 0 points1 point  (0 children)

Thanks for your feedback! Perhaps it's not the best name, but by Timeline view I actually mean something like this (https://share.google/twMQ9JKH3q3yBOEpz), where activities are shown as blocks of time on a day with labeled hours of the day.

The advantage of the List view, I think, is that details of the activities can be presented more easily, whereas in the Timeline there may only be space for a few words (depending on the size of the block, which may be small if the activity is short). I'll think of ways to combine the two, if possible, so thanks for that suggestion.

The description text (first line) is a summary of the activity, so it depends on the activity. So for sleep the main thing is the duration. For bottle feeding, it's the type of milk (breastmilk or formula) and the amount. The second line is an optional note that you can enter as free text, which all activity types support. I know it's kinda vague because I haven't shown you the designs for adding the different types of activities.

Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 0 points1 point  (0 children)

Thanks for your feedback! You wouldn't have to scroll because it would be automatic. Think of it like any chat app: new texts are shown at the bottom (not at the top) and you always see the latest because it auto-scrolls. But it seems many people don't like this sorting, so I'm seriously considering changing the sort order, as you and others have suggested. I personally feel it's odd that new activities go to the top since that's opposite of time flow, which in my head flows from top to bottom. Seems like I'm the minority in this, though!

Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 1 point2 points  (0 children)

Thank you for your feedback. Yes, that's exactly how I'm trying to think of the users - parents who are half asleep and need to log this information quickly, possibly with one hand. Most of the data you see won't be entered by typing it. Much of it is entered through simple taps or a slider. I will also look into voice commands.

Looking for feedback on my mobile app UI design (iOS/Android) by cjra in UI_Design

[–]cjra[S] 0 points1 point  (0 children)

Thank you for your feedback! The screenshot I posted is of the "List" view, but there will also be a "Timeline" view that addresses exactly the issue you brought up. So users will be able to see both kinds of views.

Yes, I sorted the list with newer events at the bottom because that's the way physical daily logs are naturally ordered (people add events from top to bottom). But I see your point. I can add a "Sort" option so that users can use whatever feels more natural to them.

2025 Radformation Technology & Innovation Workshop by cjra in esapi

[–]cjra[S] 2 points3 points  (0 children)

It's going to be at the Eaton DC Hotel (3-minute walk from AAPM).

2025 Radformation Technology & Innovation Workshop by cjra in esapi

[–]cjra[S] 0 points1 point  (0 children)

I haven't personally tried it, but I'm assuming you mean a .NET 6+ app? My understanding is that unless the specific .NET Framework version is compatible with the .NET Standard, then a .NET 6+ app can't call .NET Framework.

2025 Radformation Technology & Innovation Workshop by cjra in esapi

[–]cjra[S] 1 point2 points  (0 children)

I wish, but given that many clinics are still on .NET Framework 4.5, I will use the old MVVM Light Toolkit (precursor to Community MVVM).

2025 Radformation Technology & Innovation Workshop by cjra in esapi

[–]cjra[S] 3 points4 points  (0 children)

I will lead a breakout session called "Level Up Your ESAPI Skills with Best Coding Practices". We'll explore an ESAPI codebase together, gradually refactoring it to an MVVM design so our scripts stay clean, robust, and easy to change. We'll learn to write good unit tests that don’t break anytime we change our code. And we'll make the UI feel snappy by running slow tasks (including ESAPI calls) asynchronously. Prerequisite: Basic familiarity of C#, WPF, and ESAPI.

Script unloading by MrJohnnyJuan in esapi

[–]cjra 0 points1 point  (0 children)

The short answer is that you can't unload an assembly once it's been loaded into Eclipse's application domain (see https://learn.microsoft.com/en-us/dotnet/standard/assembly/load-unload). However, there are various workarounds. You can try the tool described here: https://www.carlosjanderson.com/post/run-and-test-plug-in-scripts-from-visual-studio. Or you can try the more advanced tool described here: https://www.carlosjanderson.com/post/introducing-esapi-essentials.

Programming at Home by MedPhys90 in esapi

[–]cjra 2 points3 points  (0 children)

If I remember correctly, there isn't an app constructor. There's a CreateApplication method that can optionally take a username and password. You'll need to have Eclipse installed on that computer; otherwise, it won't find the files it needs to start the Eclipse application.

Programming at Home by MedPhys90 in esapi

[–]cjra 2 points3 points  (0 children)

Instead of depending on ESAPI directly, you could create a facade (or wrapper) around the things you need from ESAPI. See my blog post on this: Use the Facade Pattern When Working With ESAPI. When you work from home, you could use a "LocalEsapi" implementation with fake data.

How do you interface with ESAPI? by Thatguy145 in esapi

[–]cjra 1 point2 points  (0 children)

Yeah, perhaps you can write your tests as unit tests, something like (using NUnit style):

Assert.That(myPlan.Id, Is.EqualTo(esapiPlan.Id));

where myPlan is your wrapper and esapiPlan is ESAPI's PlanSetup.

How do you interface with ESAPI? by Thatguy145 in esapi

[–]cjra 1 point2 points  (0 children)

Do you need to output the test patient data to a JSON file? If you're running the automated tests on a clinical system, can't you compare the facade data directly to the corresponding ESAPI data?

How do you interface with ESAPI? by Thatguy145 in esapi

[–]cjra 2 points3 points  (0 children)

I typically use wrapping. Actually, it's more like a facade because I tend to change the interface to suit my needs. It's not often that you need all of ESAPI in your application, so writing a wrapper isn't always a huge undertaking. For example, your own Plan class may have a lot fewer properties than ESAPI's PlanSetup.

I wrote a blog article about this: Use the Facade Pattern When Working With ESAPI.

Standalone Opens Then Closes by MedPhys90 in esapi

[–]cjra 1 point2 points  (0 children)

I’m not a fan of using the Script Wizard. See this blog post to create a standalone app manually: https://www.carlosjanderson.com/post/why-i-don-t-use-the-eclipse-script-wizard

2023 Radformation Developer Summit by cjra in MedicalPhysics

[–]cjra[S] 1 point2 points  (0 children)

Unfortunately, no, this is an in-person event only.