ma1co / OpenMemories-Framework

Build Android apps for your favorite Sony camera
MIT License
236 stars 35 forks source link

APP UI Mockup: Focus Bracket #4

Open tommiehansen opened 8 years ago

tommiehansen commented 8 years ago

I had some time over, so created a html/css/js mockup for a Focus Bracketing app.

Try it

http://s.codepen.io/tommiehansen/debug/wWjdBa Only tested in Chrome 52 + IE11/Edge @ Win10. Change browser if problem

...or edit the source http://codepen.io/tommiehansen/pen/wWjdBa

Quite bloated and would need some cleanup, optimzations etc

Use keyboard keys to navigate, they 'emulate' the D-pad on the back of the Ax/A7x camera. Else read the instructions at the page.

The idea behind creating the mockup is just to show off an idea and how one possibly could start implementing buttons and options. If i could understand JAVA i would instead start building it myself. :-)

Sample screenshot

focus bracket ui mockup

rlamarche commented 8 years ago

Very nice mockup. I know JAVA but not yet Android. To be honest, I'm already working on other side projects so I don't have the time now, but the idea is very good.

tommiehansen commented 8 years ago

Thanks @rlamarche !

I'm on leave for the moment so i had some time over. Else i'm mostly working as an Art Director, project manager and do some general web site design / ui web design/scripting (i do a lot of things).

Regarding the Android stuff/JAVA i thought i read somewhere that @ma1co was supposed to create a simpler wrapper/scripting thing so that we basically could use simple JS. How that would work (or how one would create builds) i don't know, but it would be a great way to both test and create apps since one basically then could develop entire apps using any code editor + webkit browser (like Chrome or Safari). It would ease development in quite a big way imo.

Bostwickenator commented 8 years ago

Building a JS framework would be a decently large undertaking there are whole companies devoted to this and they produce some terrible things. It's worth mentioning as well that the cameras we are talking about don't have much processing power to spare and a very tight budget of RAM so performance could be an issue. If you want to write apps in JS for Android, try NativeScript.

On Sun, 24 Jul 2016 at 08:59 Tommie Hansen notifications@github.com wrote:

Thanks @rlamarche https://github.com/rlamarche !

I'm on leave for the moment so i had some time over. Else i'm mostly working as an Art Director, project manager and do some general web site design / ui web design/scripting (i do a lot of things).

Regarding the Android stuff/JAVA i thought i read somewhere that @ma1co https://github.com/ma1co was supposed to create a simpler wrapper/scripting thing so that we basically could use simple JS. How that would work (or how one would create builds) i don't know, but it would be a great way to both test and create apps since one basically then could develop entire apps using any code editor + webkit browser (like Chrome or Safari). It would ease development in quite a big way imo.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ma1co/OpenMemories-Framework/issues/4#issuecomment-234778902, or mute the thread https://github.com/notifications/unsubscribe-auth/ABjjjKeLEnJCRIMjW6IaxDG1GMtVtM-7ks5qY2_cgaJpZM4JTkEK .

tommiehansen commented 8 years ago

Well -- something has to change.

Obviously there are too few devs out there and thus there still isn't a single completed app. The only app that really does something useful is the proof-of-concept app 'FocusBracket' and the OpenMemories Tweak. So the ecosystem basically consist of one proof-of-concept app and a hack of sorts.

lh8511 commented 8 years ago

Well one must have patience, i guess.. This is a long run with few runners yet.

We need let the "project" to mature and more people come along and contribute with apps.

The PmcaDemoApp already brought the basis for app development about a year ago, but only last 2 months came first developed apps (and only after the tweak app). @obs1dium did a great job with focusBracked but also a promissing app is betterManual which could be a great basis for new apps too.

obs1dium commented 8 years ago

I'm afraid there aren't that many people who

tommiehansen commented 8 years ago

@obs1dium You're correct, that's why i wrote about lowering the barrier of entry via plain JS (no FW...) and thus lowering the barrier of entry since there are a lot more people that know that lang then JAVA. :-)

Bostwickenator commented 8 years ago

Hey I thought my app is useful lol. Seriously though go grab nativescript, it works right now and it solves the problems you want to solve. You can get started on your app today! Native Android development isn't terribly difficult by the way. It's easy enough we are teaching it in highschool, if you put in a few hours I bet that you will manage to make it work for you and then you have a new skill in your arsenal.

On Sun, 24 Jul 2016 at 15:40 Tommie Hansen notifications@github.com wrote:

@obs1dium https://github.com/obs1dium You're correct, that's why i wrote about lowering the barrier of entry via plain JS (no FW...) and thus lowering the barrier of entry since there are a lot more people that know that lang then JAVA. :-)

— You are receiving this because you commented.

Reply to this email directly, view it on GitHub https://github.com/ma1co/OpenMemories-Framework/issues/4#issuecomment-234800829, or mute the thread https://github.com/notifications/unsubscribe-auth/ABjjjA8FSaLhwmHgO71Ug7ueR6wlghF0ks5qY82lgaJpZM4JTkEK .

tommiehansen commented 8 years ago

@Bostwickenator It wasn't my intention to be so overly harsh, sorry. :-)

I read a bit about NativeScript, watched the introductionary video (30 min) etc. It sort of feels like a FW upon another FW. It felt a bit too much just for printing a 'Hello world' to screen which is a bit off putting. Also spent some time looking for something slimmer, but similar, that just lets one focus more on coding and less about learning a new FW.

Also a bit worried on how exactly one would implement OM (OpenMemories) <> NativeScript. Do you really think that it would go smoothly?

Bostwickenator commented 8 years ago

FW? Firmware? Well it is a platform on a platform for sure but that's what you are asking for. The camera runs linux, android is patched on top of that and if you want to use javascript you are going to have to patch that on top of android, it's pretty unavoidable and what I was hinting at earlier with regard to the performance constraints. Now it's my turn to apologize for sounding harsh but there isn't a way to do this without learning some kind of framework. Invest that time in learning Android now. It will take longer to get something that works at first but you are far less likely to hit a dead end half way in and waste all your time.

On Mon, 25 Jul 2016 at 11:22 Tommie Hansen notifications@github.com wrote:

@Bostwickenator https://github.com/Bostwickenator It wasn't my intention to be so overly harsh, sorry. :-)

I read a bit about NativeScript, it's sort of feels like a FW upon another FW. It felt a bit too much just for printing a 'Hello world' to screen which is a bit offputting. Also spent some time looking for something slimmer, but similar, that just lets one focus more on coding and less about learning a new FW.

Also a bit worried on how exactly one would implement OM (OpenMemories) <> NativeScript. Do you really think that it would go smoothly?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/ma1co/OpenMemories-Framework/issues/4#issuecomment-235004294, or mute the thread https://github.com/notifications/unsubscribe-auth/ABjjjIpxMK1ynB4U0j22bza_eocD_A5Bks5qZOLCgaJpZM4JTkEK .

tommiehansen commented 8 years ago

FW as in Framework. And yeah -- just learning the base for coding an Android app feels a lot simpler.

Edit: But it's really a time problem, currently working 10h-days in order to increase funding for more travels so the little time i actually got is often spend on editing photos. I think many of us spends the extra time on editing.

Time is probably the general problem, that's why i also suggested that the OM Appstore should have a payment option in order to create more incentive for developers; i for one would glady pay for an app that solves many of the current limitations in the current Sony FW and App eco system. Don't think Sony would really like such a thing though, but yeah... :-)

rlamarche commented 8 years ago

I think that people needs an opensource FW that allow developing apps for any camera brand. Personnaly, I own a Nikon D800 & a Sony RX100III. I'm happy with the two of them, but I would not spend too much time only for developing native apps only for the RX100III ... because the time is always a problem, and I prefer to go outdoor (or underwater) and shoot !

I'm currently working on a tool that allow to send commands to camera through a unique API. There will be a HTTP REST API running on any embedded device like the Raspberry PI which supports Qt Framework. The first "connector" is a gphoto connector (see libgphoto) for Nikon Cameras, but I hope that more will come (like Canon, Sony remote, and so on). But I think that I get far from your initial subject about developing in-camera apps. BTW, if any-one feel interested, don't hesitate to poke me.

jbieler commented 7 years ago

Hey guys,

as I'm trying to get some code working on my sony camera, I found this project. Thank you Ma1co for laying the ground work to create native apps for sony cameras!

I'm working on an app that controls A,S and ISO to keep the exposure in day-to-night time lapses. Preferably it should run on the camera itself.

I'd be happy to help, working on the framework to make this possible. Currently it's not possible to control camera parameters, right?

How can I help? What are the next steps?

I'm not familiar with filling the stubs. How is that done?

(Sorry for OT, but this thread seems to gather all interested people.)

tommiehansen commented 7 years ago

Most things that can be controlled by the camera (params) can be controlled via the FW (Frame Work) as far as i know. The problem is more that we're a bounch of visionaries that aren't really coders... :-)

As you see per my sample i've figured out a lot of things that could be needed/should be able to work for this specific application. How it will work etc etc.. but lack the knowledge (and time) to actually code these things. Unfortunately it seems a lot of other people do as well seeing that there really aren't any apps being released at all.

ma1co commented 7 years ago

@jbieler You can control camera parameters directly through the stubs, there is just no documentation at all, so you have to figure it out yourself... Simply include both dependencies as described in the README, you can then access stuff like com.sony.scalar.hardware.CameraEx directly (see PMCADemo for a very very basic example).

The goal of this framework is to wrap all the functionality in a somewhat nicer and better documented api. But I currently don't have much time for that...

Let us know if you need any help!

jbieler commented 7 years ago

@ma1co Thanks for the explanation. I already had a look at PMCADemo and also a glimpse into the focus bracket app. How do you recommend to figure how it works?

Up to now, my development process involves

This is so time consuming. Do you know a way to accelerate this? Is there a way to debug? Execute in a virtual device?

jbieler commented 7 years ago

@obs1dium What exactly was your development process for creating the focus bracketing app?

obs1dium commented 7 years ago

@jbieler It's pretty much what you described. I wrote a bit about it here.

You might want to check out my BetterManual app. It does a lot more than FocusBracket and may save you some time figuring stuff out.

lh8511 commented 7 years ago

@jbieler your development process is almost the same I am doing... To get some time save and more accurate info, i can only recommend to use the camera screen for logging info instead check sdcard log every time.

I also suggest to take a look at BetterManual App from @obs1dium. I was (still doing) coding an app for logging/write exif info of Legacy lenses including "Lens Name" and "aperture used" not provided by firware for each taken photo with those lenses. For that I start developing the code from better manual example. So far, my app already serves the purpose to log that info into a textfile in sdcard but I am still struggling to write/modify exif on each photo file itself avoiding add that when download photos to computer.. If you need some assistant I can point the code for my app which again was developed on top of better manual app...

You can also take a look at Stubs functions to get an idea how to use the functions and procedures for your app, but keep in mind that some camera models do not have some functions. Check your camera and platform version or deodex the framework files from your camera to get a better view.

Good luck to your project.

jbieler commented 7 years ago

Thanks for all the information. I will take a look at the better manual app.

I'm now struggling with deploying an app onto the camera. On windows this worked pretty well. On my mac I got it working once now. Are you guys working with a mac?

Can you advise me what to do to reliably reply apps?

obs1dium commented 7 years ago

I'm mostly on Windows, where switching from mass storage mode works automatically. On OSX I had to manually configure the camera to use MTP. You can then deploy your app using ./pmca-console-v0.9-osx install -s "" -f your_app.apk

ma1co commented 7 years ago

@jbieler Can you try the newest version of pmca-console (released just now)? The mass storage drivers should now work on OS X, as long as you have the newest version of the official browser plugin installed (the plugin installs a SCSI passthrough kext which is required).

obs1dium commented 7 years ago

@ma1co Can confirm that it's now working as expected for me.

jbieler commented 7 years ago

Thank you @ma1co, the new pmca console works really well.

ma1co commented 7 years ago

I'm currently trying to run adbd on the camera, there's something for you to try. Please test it and let me know if it works.

jbieler commented 7 years ago

Hey @ma1co, that's great. If it's not running: I have set up log4j with a Logactivity that shows the log fullscreen and sending it over wifi. Works pretty good.

jbieler commented 7 years ago

HOLY SHIT I HAVE SET A BREAKPOINT ON MY CAMERA. Thanks Ma1co!