Recent

Author Topic: FPC Paymo Widget (Open Source)  (Read 9362 times)

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
FPC Paymo Widget (Open Source)
« on: April 02, 2018, 12:40:03 am »
Hi, we're using Paymo (https://www.paymoapp.com/) to track projects and now we have our own widget.

FPC Paymo Widget
https://github.com/Arandusoft/fpcpaymowidget

It uses the Paymo API, but can be used with a compatible API hosted on your own server.

It currently can do:
- list tasks with time entries
- start a time entry from the list of tasks
- start a new task and time entry (+ button)
- start a new time entry from an existing task (+ button, "Use Existing Task")
- choose from all projects, tasks lists, and lists (completed or not)
- get / set the current running task
- edit any time entry (switch project / switch task list)
- the UI is almost identical to the official widget

Fancy things:
- the UI is made all with the LCL + BGRAControls + own AnimatedPanel (with easing animation)
- all done with FPC trunk + Lazarus trunk
- tested and working in Linux, Mac and Windows 10
- translations (currently English and Spanish)

Why we make this?
- Because the official Paymo Widget is not native, is made with Electron and consumes almost 80 mb of RAM.
- We made it native and consumes almost nothing!
- To show how good is FPC and Lazarus for desktop.

This is almost finished. Soon we will distribute binaries.
« Last Edit: April 02, 2018, 01:21:35 am by lainz »

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: FPC Paymo Widget (Open Source)
« Reply #1 on: April 02, 2018, 11:49:36 pm »
Hi, we're using Paymo (https://www.paymoapp.com/) to track projects and now we have our own widget.

I've never heard of Paymo, so perhaps my question is one of ignorance, but isn't this an app, not a widget?

By "widget", I would assume that it's a control that someone could use in their own app.

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #2 on: April 02, 2018, 11:58:33 pm »
That's not the meaning of the word Widget used here.

On Windows, a widget is a tool that's shown on desktop, a small tool.

Like this:
https://www.microsoft.com/en-us/store/p/widgets-hd/9wzdncrdqfbt#

On Windows 7 or XP "Gadgets".

This is the original app
https://www.paymoapp.com/download/

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: FPC Paymo Widget (Open Source)
« Reply #3 on: April 03, 2018, 12:10:05 am »
That's not the meaning of the word Widget used here.

On Windows, a widget is a tool that's shown on desktop, a small tool.

Sorry, I meant in terms of Lazarus, eg, a "widgetset" (gtk2, win32, cocoa) is a set of widgets (TEdit, TMemo, etc.).

Yes, I see now that they use the word widget too (and also app - doubly confusing). I would say they goofed there - maybe not native English speakers?

Yeah, it does look like with Electron their app is way, way bigger than it oughta be. 137MB footprint on macOS, with 118MB of that in the Electron framework. Yikes.

Are you actually using Paymo to keep track of time spent on projects? I would guess many programmers would chafe at having to track their time the way lawyers do.


lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #4 on: April 03, 2018, 12:24:38 am »
Is not that bad =)

I learned to track time in University, we used also lines of code and a small description of what was done. But we use repositories for the track of changes and lines, so is not that strict.

Is more like a supercharged to-do list.

The thing is that there is a lot of customer support, and is the way to track who is the client that spend more time on support. Plus the most time consuming project, etc.

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: FPC Paymo Widget (Open Source)
« Reply #5 on: April 03, 2018, 12:38:16 am »
Is more like a supercharged to-do list.

Does it work okay with Cocoa widgetset? From your script it looks like that's the default (good example of build modes, by the way).

The betas of macOS 10.13.4 this winter had a warning the first time 32-bit apps were run, but now that 10.13.4 is out it looks like Apple dropped the warning for now (at least I haven't seen any warnings). Maybe they were just testing that feature for 10.14 or something.

Once macOS starts warning about 32-bit apps, I would think that would be the end of default Lazarus as a viable tool for production GUI apps on macOS. And if Cocoa widgetset won't do, then a Plan B would be in order (Swift?).
 

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #6 on: April 03, 2018, 01:11:17 am »
I added all build modes but not Cocoa one.

I don't have a real Mac to test, it's my boos the one did the build script and added that build target.

He tested it and works fine.

I'm not Mac expert but if you say that Swift is the way it must be.

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #7 on: April 03, 2018, 10:37:56 pm »
Hi, version 1.0 released
https://github.com/Arandusoft/fpcpaymowidget#fpc-paymo-widget

Working with Free accounts also, if anyone want to try.


lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #9 on: April 03, 2018, 11:32:54 pm »
Ok. Thanks Phil.

There's a way to use that with FPHTTPClient?

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: FPC Paymo Widget (Open Source)
« Reply #10 on: April 03, 2018, 11:37:05 pm »

There's a way to use that with FPHTTPClient?

No, Indy, Synapse and FPC's HTTP client all use OpenSSL (FPC's uses Synapse's SSL code). But you can use the little ns_url_request.pas unit here to do GET and POST requests. Download the "Useful Objective Pascal" .zip:

https://macpgmr.github.io/


lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #11 on: April 04, 2018, 01:49:24 am »
Thanks.

I'm sure this can be considered.

BTW there will be amazing to integrate that into FPC, to don't worry about using FPHTTPClient or not, to make things easier.

Maybe making an FPHTTPClient compatible object that can be used with no changing a single line of the original code.

ps

  • Full Member
  • ***
  • Posts: 136
    • CSS
Re: FPC Paymo Widget (Open Source)
« Reply #12 on: April 04, 2018, 09:53:28 am »
Once macOS starts warning about 32-bit apps, I would think that would be the end of default Lazarus as a viable tool for production GUI apps on macOS. And if Cocoa widgetset won't do, then a Plan B would be in order (Swift?).
Lazarus can't build Cocoa 64bit app?
Small simple CSS/box model implementation: https://github.com/pst2d/csscontrols/tree/dev

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: FPC Paymo Widget (Open Source)
« Reply #13 on: April 04, 2018, 03:41:57 pm »
Lazarus can't build Cocoa 64bit app?

Seems that is very buggy.

Actually my boos said that this FPC Paymo Widget it works better with Qt widgetset.
« Last Edit: April 04, 2018, 03:43:36 pm by lainz »

esvignolo

  • Full Member
  • ***
  • Posts: 159
  • Using FPC in Windows, Linux, Macos
Re: FPC Paymo Widget (Open Source)
« Reply #14 on: April 04, 2018, 09:19:14 pm »
That's not the meaning of the word Widget used here.

On Windows, a widget is a tool that's shown on desktop, a small tool.

Sorry, I meant in terms of Lazarus, eg, a "widgetset" (gtk2, win32, cocoa) is a set of widgets (TEdit, TMemo, etc.).

Yes, I see now that they use the word widget too (and also app - doubly confusing). I would say they goofed there - maybe not native English speakers?

Yeah, it does look like with Electron their app is way, way bigger than it oughta be. 137MB footprint on macOS, with 118MB of that in the Electron framework. Yikes.

Are you actually using Paymo to keep track of time spent on projects? I would guess many programmers would chafe at having to track their time the way lawyers do.

Hi Phil, with respect to the widgetset for mac ... I did tests in carbon (there are problems with the icons of the tray), in cocoa64 (this quite well, but there are events in the tedit that do not run, or methods in the listbox that do not work well ), and finally in qt5 for mac it works best.
Regarding the monitoring of hours with respect to customers / projects, we are a small software development company, and, basically, hours of development are sold, which means that it is best to have these variables measured.
Finally another interesting aspect to take into account in terms of measurement and progress is the Goldilocks rule.

https://lifehacker.com/how-to-stay-motivated-in-life-and-work-using-the-goldil-1783132075

Regards!

 

TinyPortal © 2005-2018