• Welcome to the new Internet Infidels Discussion Board, formerly Talk Freethought.

Android Design Experience?

Jimmy Higgins

Contributor
Joined
Jan 31, 2001
Messages
44,167
Basic Beliefs
Calvinistic Atheist
I'm currently delving into Kotlin and Android as part of the first half of a software crisis that is software these days. I'm attempting to develop an app that ingests data into a database that can then be exported in CSV format via email. The exported format might change after the second half of the project but that'd be a year down the road.

The critical key for this app is to be completely upfront. No lists, lookups to browse through. Everything is within reach up front. So the UI is crucial. The UI for the competition is primitive at best and just bothers me so much. 1/4 of the effort is just skimming around to the location for entering data. NO COOL!

My question was just about generalized advice on Android development if anyone has any, from tablet compatibility to compatibility down the road with new Android releases. Or any other generalized things I should keep in mind when developing the UI.
 
I don't know about it, but I know there are IDEs and cross platform tools. Probably books. too.
 
The extent of my Android programming experience is when I tried to build some small apps with Eclipse, an Android IDE.

I'd used Java in it, but if I wanted to restart, I'd likely use Kotlin.

A big potential pitfall is the variety of screen sizes for Android devices, since most Android apps run full-screen. Are there any common ways of getting around that problem?
 
I toyed around with Android Studio about a year ago. The UI designer is pretty good, and it's relarive easy to install virtual devicea for testing.

I stumbled a bit when it came to building the data storage for my app. But there are a lot of tutorials available that that make it easier.

 
Thanks. Yes, I'm using the Android Studio, which is a brilliantly awesome compiler tool. I also downloaded IntelliJ I think for just straight up Kotlin, which seems to just be Android Studio without the Android.

Usually I get books and browse online, which is what I'm doing here. Finished one book, working within a couple others. I need to figure out the gestures to provide one more manner for inputting data.

The software that inspired me to move forward with this project just came in with an "update" and I need to restart data entry and it is so fucking tedious. It drives me nuts!
 
Thanks. Yes, I'm using the Android Studio, which is a brilliantly awesome compiler tool. I also downloaded IntelliJ I think for just straight up Kotlin, which seems to just be Android Studio without the Android.

Usually I get books and browse online, which is what I'm doing here. Finished one book, working within a couple others. I need to figure out the gestures to provide one more manner for inputting data.

The software that inspired me to move forward with this project just came in with an "update" and I need to restart data entry and it is so fucking tedious. It drives me nuts!
Necessity is the mother of invention.
 
Necessity is the mother of invention.
Usually that is more for tools and devices. I've come up with software solutions from "scratch" in Excel with VBA, but this needing to develop software from scratch to do something lots of people do when an option should be available in a box already is new to me.

That this junk is what is available in 2022 blows my mind.
 
.....So the UI is crucial. The UI for the competition is primitive at best and just bothers me so much...
I used Cordova to make this Android tablet/phone app - it involves HTML and the JavaScript library jQuery: (the second version removes the controversial images like the circumcision)

With Cordova you can also build it for iOS.
The UI took a bit of a while to make though I used some advanced techniques. Even though it wasn’t a native app I managed to get it to run smooth even on a $50 phone. I also used an SVG plugin for graphs:
HlPgKEuk99MGDgLhwuzPj6BC-HZy8RICSiLd62ce2n3j8FKSR9_jJpY96eGLaNbCjMs=w1052-h592-rw

Note that in JavaScript/jQuery it is possible to have a local SQL database and I did that for a company that involved logging student activities in Cordova.
In it there was a search input and it would update with the results as icons as you type.
 
Last edited:
Also those apps were “responsive” and my Christmas app looked good on basically any resolution or orientation.
 
I'm currently delving into Kotlin and Android
If your software background is Excel/VBA, you might find Kotlin/Java/Android to be a steep learning curve, so you might want to look at using a tool that makes it easier to get things done.

Xamarin:

Ionic:

Flutter:

React Native:

Who am I kidding - these all have a steep learning curve.
 
VBA and Excel are my usual playground, but I have a generalized feel for programming including C++. So the Kotlin stuff isn’t realy phasing me. Imm more concerned about efficiency and layout distribution on the screen and any potential, this ain’t going to work in two generations sort of setbacks.
 
VBA and Excel are my usual playground, but I have a generalized feel for programming including C++. So the Kotlin stuff isn’t realy phasing me. Imm more concerned about efficiency and layout distribution on the screen and any potential, this ain’t going to work in two generations sort of setbacks.
Pretty much any decent framework/tool will give you fine control over your view layouts.

You, the human, are the weak link. You need to have a good process for gradually building and testing your app so you never get to that point halfway through the project where you can no longer add/change features without breaking everything.
 
VBA and Excel are my usual playground, but I have a generalized feel for programming including C++. So the Kotlin stuff isn’t realy phasing me. Imm more concerned about efficiency and layout distribution on the screen and any potential, this ain’t going to work in two generations sort of setbacks.
Pretty much any decent framework/tool will give you fine control over your view layouts.

You, the human, are the weak link. You need to have a good process for gradually building and testing your app so you never get to that point halfway through the project where you can no longer add/change features without breaking everything.
The program is all about data entry and streamlining that process. I've been thinking a ton about that, and how to make the process as painless as possible, almost as easy as paper. So the flash is actually just in the entry design, not the physical look. This will require a good deal of textviews and buttons, which I'm using as events to get stuff onto a database. My main concern is how that template, I'll need three I think, though I might just use the default text entry for one of them, remains coherent down the road with Android updates.

Ultimately, I want this to work locally, then the question is, is it good enough to sell it. And that is where the ability for it to work on generalized tablets becomes an issue. Also language. The underlying processes are relatively simple. String manipulation and entering that into a database. Then being able to send out the database. So, my concern is more with the underlying framework, making certain the templates aren't gobbling up resources, and the ability to switch out languages, just in case this actually works as I'm hoping.
 
VBA and Excel are my usual playground, but I have a generalized feel for programming including C++. So the Kotlin stuff isn’t realy phasing me. Imm more concerned about efficiency and layout distribution on the screen and any potential, this ain’t going to work in two generations sort of setbacks.
Pretty much any decent framework/tool will give you fine control over your view layouts.

You, the human, are the weak link. You need to have a good process for gradually building and testing your app so you never get to that point halfway through the project where you can no longer add/change features without breaking everything.
The program is all about data entry and streamlining that process. I've been thinking a ton about that, and how to make the process as painless as possible, almost as easy as paper. So the flash is actually just in the entry design, not the physical look. This will require a good deal of textviews and buttons, which I'm using as events to get stuff onto a database. My main concern is how that template, I'll need three I think, though I might just use the default text entry for one of them, remains coherent down the road with Android updates.

Ultimately, I want this to work locally, then the question is, is it good enough to sell it. And that is where the ability for it to work on generalized tablets becomes an issue. Also language. The underlying processes are relatively simple. String manipulation and entering that into a database. Then being able to send out the database. So, my concern is more with the underlying framework, making certain the templates aren't gobbling up resources, and the ability to switch out languages, just in case this actually works as I'm hoping.
You can add localisation/internationalisation later, once your investors give you a few million bucks to hire some software engineers.

Unless you're doing something CPU intensive, like some kind of crazy data processing while your user is trying to fill a form, you can probably just forget about performance concerns and trust that your app will mount/unmount your views, observers etc. in a sensible way.

If it's important that your app work on a variety on devices, start with the smallest screen and work your way up.
 
If your goal is a product the first thing to do is throrough market survey. There are companies that specialize in it. There may be a report you can buy.

You need to check if you are potentially violating a patent or copyright. People get patents for trivial things these days.

Then before writing any code write a detailed specification. On a complicated project even with experience you can quickly lose direction and start spinning your wheels. Detail the exact inputs and outputs and processes.

Pseudo code the project detailing how you are going to approach the problem.

Revisn control to keep a documented trail of changes as you proceed.

For me the last step was writing code.
 
If your goal is a product the first thing to do is throrough market survey. There are companies that specialize in it. There may be a report you can buy.
Don't need a marketing report to tell me the market needs this product, because the product doesn't exist. Or it exists, but those products are lying about what they are.
Then before writing any code write a detailed specification. On a complicated project even with experience you can quickly lose direction and start spinning your wheels. Detail the exact inputs and outputs and processes.
I'm drawing stuff out.
Pseudo code the project detailing how you are going to approach the problem.
This is the easiest part, just string manipulations and making values into values.
Revisn control to keep a documented trail of changes as you proceed.

For me the last step was writing code.
Agreed, which is why I started the thread before I started the code.
 
Where do I send my consulting invoice?
 
Another reason to use an app framework: cross platform development.

if you want to maximise your potential user base, then sooner or later you will probably need to port your app to Apple devices. If you build your app using the Android SDK and Kotlin, you'll only ever be able to use that app on Android. You'll have to rebuild it for iOS with a completely separate codebase in Swift.
 
I use my Android device solely as my Internet hot spot. I have never downloaded any apps. There are apps on the device I can not disable. Google is interned in the system.

I have a flip phone for calls.

What do they run in prices? How many would you have to sell to make it worthwhile?
 
Back
Top Bottom