Recent

Author Topic: WANTED: A Few Great Apps  (Read 40473 times)

Phil

  • Hero Member
  • *****
  • Posts: 2737
WANTED: A Few Great Apps
« on: August 13, 2017, 06:51:38 pm »
"The best publicity is a great demo."
  - just made that up, but it sounds true

I would like to suggest as a general goal the development of a small number of great apps that showcase FPC and/or Lazarus.

These would be new apps, modern apps, polished and good-looking, which would appeal to general users and developers alike, with 21st century features that users now expect such as animation, maps, geolocation, Web services, rich text, etc.

Ideally they would be available via app stores - this would be a big drawing card for the tools that were used to develop them. At a minimum, the apps would be available as codesigned installers that can be downloaded by clicking on a single link.

They could be paid apps - also a great attraction.

An app wouldn't necessarily need to be developed with Lazarus and/or LCL either. For example, it could be a Web app, as long as both the client and server parts were written in Pascal. (Web apps would need to be deployed to an actual server, not just as source code or screenshots.) Or it could be a Mac or iOS app developed with Xcode and FPC's Objective Pascal dialect. Or an Android app developed with Eclipse and FPC's JVM compiler. Whatever mix of tools produces the best results.

Ideally these new apps would not be just desktop apps, but would include something else - a mobile companion app, server side stuff, etc. For an example, see something like this case study, http://www.elementscompiler.com/elements/casestudies/curacaoweather.aspx?utm_source=blog&utm_medium=blog&utm_campaign=case-study-weather, which describes two mobile client apps, server side software, and a desktop reporting app for backend analysts, all written in the same language and sharing some source code between the apps.

"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

So what types of apps would probably not be suitable to showcase?
  • Apps that look and feel like 90s Windows desktop software.
  • Me-too apps.
  • Trivial apps.
  • Apps that are overly complicated to use.
  • Apps that use a non-standard look, feel or practice for a target platform.
  • Retreads; recycled apps; tired apps.
  • Programmer utilities.
Are there examples of the kind of showcase apps I'm thinking of? Well, I took a spin down the list in http://wiki.lazarus.freepascal.org/Projects_using_Lazarus. Once I'd eliminated all the broken links and abandonware, only a couple apps caught my eye in the context of what's described above:
Alas, both of these apps are probably far too specialized to interest more than a handful of users, and they're desktop only, but they're bright and colorful  (and cross-platform), and I could imagine them making the transition to an app store.

So who's in?

Gentlemen, start your engines.

Comments welcome.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: WANTED: A Few Great Apps
« Reply #1 on: August 13, 2017, 07:05:08 pm »
"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

I wanna wast my time create imitations of popular apps to get new users which will invariably go with the popular default whatever I do, and will not choose a minor player in an open market just because they produce something that is almost on par.
 - said nobody but Phil.

Call me a cynic, but I think it is wiser to attach to a certain eco system, and try to grow from there, rather than put in a lot of effort to get something from a pool that already have too many tools fishing in it.

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #2 on: August 13, 2017, 07:06:09 pm »
"I wanna write Windows software like my Dad did in the 90s."
  - said no young programmer ever

I wanna wast my time create imitations of popular apps to get new users which will invariably go with the popular default whatever I do, and not choose a minor player in an open market.
 - said nobody but Phil.

- said Uncle Grumpus

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: WANTED: A Few Great Apps
« Reply #3 on: August 13, 2017, 07:11:28 pm »
- said Uncle Grumpus

The exercise of simple putting yourself in their shoes (as in, new users without much attachment to tools) is not geriatric babble. 

What would FPC bring to the table with half polished tools that the likes of Microsoft, Apple and Google can't for creating mobile apps(and their backends)?

That said, the consensus seems to be that you need some application or framework from which to grow. I just rather chose the stuff that is already there and not denigrate it as "90s Pop applications"

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #4 on: August 13, 2017, 07:52:38 pm »
- said Uncle Grumpus

The exercise of simple putting yourself in their shoes (as in, new users without much attachment to tools) is not geriatric babble. 

Sorry, couldn't resist the bait.

That said, the consensus seems to be that you need some application or framework from which to grow. I just rather chose the stuff that is already there and not denigrate it as "90s Pop applications"

Not sure if I follow, but it seems to me that a few "showcase" apps might be useful to existing users, not so much for attracting new ones: something to focus on, interesting examples of what's possible (or soon will be), a chance to upgrade skills.

RAW

  • Hero Member
  • *****
  • Posts: 868
Re: WANTED: A Few Great Apps
« Reply #5 on: August 13, 2017, 08:33:24 pm »
Quote
..a few "showcase" apps might be useful to existing users, not so much for attracting new ones:...
The truth is it's good for both...

Existing users can see what can be done with FPC or LAZARUS... that's interesting and you can always learn something new...
AND
People who think PASCAL is dead and buried and "you cannot do this and that with it"... they can see what can be done.
That's way more powerful than talking...

Just my 2 cents...  :P
Windows 7 Pro (x64 Sp1) & Windows XP Pro (x86 Sp3).

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #6 on: August 13, 2017, 08:38:45 pm »
That's way more powerful than talking...

For sure.

And anyone attempting to create a "showcase" app would probably benefit most of all.

A lot of programmers probably hit against these familiar obstacles: (1) inability to critically judge one's own work, and (2) reluctance to leave the comfort zone where all the familiar tool and techniques are. (Certainly both of those things apply to me.) To do a showcase app, the developer would probably have to confront both of these things. And a general skill upgrade might solve both. Win-win.

RAW

  • Hero Member
  • *****
  • Posts: 868
Re: WANTED: A Few Great Apps
« Reply #7 on: August 13, 2017, 09:06:38 pm »
Another truth is that if people have a certain mindset about something then it's hard to change that.
Most people think PASCAL is a teaching language used in the past in schools, it's not a real world programming language, real programmers are using C or JAVA or C++ or whatever, at least not PASCAL... that's something for kiddies.

A nice and stable working app can easily change that without the need to say more than: That's a FREE PASCAL or LAZARUS App...
Real results... the only thing that really matters...
Windows 7 Pro (x64 Sp1) & Windows XP Pro (x86 Sp3).

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: WANTED: A Few Great Apps
« Reply #8 on: August 13, 2017, 09:19:14 pm »
This is an example of a showcase
https://electron.atom.io/apps/

And that is actually a Lazarus competitor, since it's main target is the Desktop. I'm not saying Lazarus is just Desktop, but it is manly used for that.

Some of the apps showcased there has a web version also, sure using Node.

Remember also that if you design a web application, that easily can be ported to mobile, with any framework using a web view.

In the future, progressive web apps (PWA) will be installed as native apps for Android, and remember these (right now) can work offline.

Another kind of apps are browser apps, like Chrome extensions, Google Drive extensions can be both web app and chrome extension.

Plugins for websites (web apps that uses external web apps).

Drive already comes with Word, Excel, PowerPoint and Draw (with his naming), and anything you can plug to it (scripting also). So that will not be a great idea to write one of these, if it's not online. Offline you can use already Open Office or Libre Office.

3D: already we have blender.
2D: inkscape, gimp.
Music: audacity, lmms.
Coding: the modern ones are Atom and his child VS Code.

Edit: I have this two small web apps, try to make them using lazarus for target web

https://lainz.github.io/webapps/frecuencias.html -> word counter (Normal web app)
https://lainz.github.io/webapps/compras/ -> groceries list (PWA, so yes, you can use it offline in any android device)
« Last Edit: August 13, 2017, 09:37:56 pm by lainz »

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #9 on: August 13, 2017, 11:39:33 pm »
This is an example of a showcase
https://electron.atom.io/apps/

A lot of those are apps for nerds, involving installing with npm or something, although I notice that a few do provide ready-to-use installers for various platforms, eg, https://medleytext.net .

Remember also that if you design a web application, that easily can be ported to mobile, with any framework using a web view.

Yes, I've noticed that trend. For example, even though Mapbox targets just about every platform under the sun, I see this quote here: https://github.com/mapbox/mapbox-gl-native :

"If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform."

Hence the usefulness of TWebBrowser control for Lazarus: https://macpgmr.github.io

https://lainz.github.io/webapps/frecuencias.html -> word counter (Normal web app)
https://lainz.github.io/webapps/compras/ -> groceries list (PWA, so yes, you can use it offline in any android device)

Try writing them as 100% Pascal and converting to JS. You just need an interface unit to the external JS classes, eg, to Angular.

See example app here and nearly complete Pascal interface unit for Mapbox GL JS:

https://macpgmr.github.io/MacXPlatform/pnj-src.zip

RAW

  • Hero Member
  • *****
  • Posts: 868
Re: WANTED: A Few Great Apps
« Reply #10 on: August 14, 2017, 12:53:03 am »
Quote
This is an example of a showcase
https://electron.atom.io/apps/

And that is actually a Lazarus competitor, since it's main target is the Desktop. I'm not saying Lazarus is just Desktop, but it is manly used for that.
Funny... I tried the snake game just for fun and the result is: it's working fine, but..

1. RESUME button is not working
2. Window Caption colors are wrong // Classic Theme
3. 60 MB exe is quite big // Free Pascal + API window + OpenGL =  probably a few MB only
4. 40 MB RAM is a lot... I guess with FREE PASCAL and OpenGL it should be possible with 15 - 25 MB RAM usage...
5. 3 exe-files are running... interesting...  :)

Windows 7 Pro (x64 Sp1) & Windows XP Pro (x86 Sp3).

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: WANTED: A Few Great Apps
« Reply #11 on: August 14, 2017, 12:58:37 am »
@RAW
Thats the way chrome works, with different processes each one doing a different thing.

@Phil
I agree your web component will help a lot. Hopefully you can find a way to make it cross platform. Or even better make the chromium work fine and fast in each platform.

I mean a converter of a form isnt hard to do, just map each lazarus control to the html counterpart, or web library counterpart. the glue thats pascal in any form already can be converted to js. The good thing will be to create the entire conversion, like smart mobile studio does, but free :)

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #12 on: August 14, 2017, 01:03:06 am »
@Phil
I agree your web component will help a lot. Hopefully you can find a way to make it cross platform. Or even better make the chromium work fine and fast in each platform.

Yes, currently it supports only Cocoa and Qt4.

I mean a converter of a form isnt hard to do, just map each lazarus control to the html counterpart, or web library counterpart. the glue thats pascal in any form already can be converted to js. The good thing will be to create the entire conversion, like smart mobile studio does, but free :)

I don't believe that's the right approach. If you adapt to the JS library, rather than try to shoehorn it into the Laz idiom, it becomes fairly straightforward.

Yes, I converted the entire app to JS using FPC's fppas2js converter.

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: WANTED: A Few Great Apps
« Reply #13 on: August 14, 2017, 01:06:00 am »
3. 60 MB exe is quite big // Free Pascal + API window + OpenGL =  probably a few MB only
4. 40 MB RAM is a lot... I guess with FREE PASCAL and OpenGL it should be possible with 15 - 25 MB RAM usage...

That bulkiness is what kind of puts me off about Atom.

All Macs come with OpenGL installed already as a system framework, so using it doesn't require anything extra.

The Mapbox native library uses OpenGL and on Mac is a svelte 3.5 MB, so creating a native Cocoa app with Lazarus that contains a real mapping engine can be done in 6-7 MB. Although like any mapping app, it does need RAM, about 50MB minimum.

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: WANTED: A Few Great Apps
« Reply #14 on: August 14, 2017, 01:09:16 am »
I see. Well its just a matter of trying. I'm stuck with releases now, I should get a fresh trunk first. Is really interesting the conversion from a lang to another. For example Unity converts from C# and his version of js to asm.js and webgl. Games starts from 3 or 4 mb, no "download" required of third party plugins. See some of my games here
https://twogentlemensoftware.gitlab.io/

 

TinyPortal © 2005-2018