Jump to content
David Schwartz

Something like SimpleNote with an API?

Recommended Posts

I'm looking for something like SimpleNote that also has an API.

 

https://simplenote.com

 

On the surface, this looks very similar to the Apple Notes app that's found on most (if not all) Apple products. I don't really care what it looks like, what interests me is that it lets you capture some notes on one device and it will reflect them to all of your other devices automatically. Like how Dropbox copies files you put into it on one device and puts them onto other devices.

 

This project apparently started out around 2010 and was purchased by Automattic (the Wordpress guys) a few years later. They built an API and open-sourced it. But they never open-sourced the core parts.

 

The problem is, they have stopped issuing API keys and aren't responding to emails. 

 

I want something that I can put into a web app that lets you take some notes during a "session", hit a "Save" button, and it automatically reflects that "session note" to your other devices with some other notations added by the app.

 

I'd like something light-weight that preferably doesn't require a central server or DB. If you look at the list of things this uses, it seems to employ MQTT to send an alert to other devices related to yours and I'm guessing they request a copy of the data. 

 

It would be ideal if I could get hold of these guys and find out how to use their API to send notes to their app, but it's not clear if that's even possible -- ie, they API is for building your own app on top of their engine, not interacting with the SimpleNotes app itself. I don't know; the API doc doesn't mention the SN app, and I can't reach anybody there.

 

So I'm curious if anybody here knows of something similar to SimpleNote with an API that I could use. 

 

Worst case, I'll use a DB in the cloud and build an app that does this, but I'd rather just extend something that already exists, like this SimpleNotes app.

 

Any ideas?

Share this post


Link to post

There is always the option of generating simple text files and synchronising them to other computers. But I guess that's not what you are after.

Share this post


Link to post
19 minutes ago, dummzeuch said:

There is always the option of generating simple text files and synchronising them to other computers. But I guess that's not what you are after.

Well, it's a web app. There's nowhere to save it locally. It has to be sent somewhere. And this means nothing to average users.

 

SimpleNote is easy to install on any devices you own. It's free. You sign up with your email on the first device and login on other devices. 

 

In my app, you're logging in with your email; I'd simply ask for your SimpleNote API key, pwd, or something similar and save it. Then when you take a note, you simply press the [Save] button and it's replicated on your SimpleNote app(s). 

 

The other thing I'm considering is having it simply take the note and then send it as a message to your email address.

 

I really don't want to be in the business of managing people's notes for them. I want something as simple as "hit the [Save] button" and it goes somewhere else that lets you read and manage them.

 

Also, I consider them to be  personal and private; not for public consumption, like what you'd post on social media sites.

Edited by David Schwartz

Share this post


Link to post
9 hours ago, David Schwartz said:

Any ideas?

How about OneNote, or Dropbox Paper? Or in a pinch: Google Keep - this isn't really meant for what you want.

Share this post


Link to post
17 hours ago, David Schwartz said:

Worst case, I'll use a DB in the cloud and build an app that does this, but I'd rather just extend something that already exists, like this SimpleNotes app.

Not sure if you find NextCloud too fat for your solution, I dont bother about its <= 100MB size ?

Of course, this is so much more, than a simple note taker.

But this is small, perfectly maintained, has smooth update process, gives full control over all aspects of sharing, accounts, and so on, has free apps, WebDAV support, offers an API access, runs on a simple, virtual PHP server ...

Notes can be edited as MarkDown ( as one of the simplest options ), with Online editor and good-working Apps available.

 

I'm still testing and dive deeper and deeper into NextCloud for my personal and private small teams, and this is veeeery smooth so far.

Probably, you like and get more familiar with that too :classic_wink:

Edited by Rollo62
  • Like 1

Share this post


Link to post
18 hours ago, David Schwartz said:

I'd like something light-weight that preferably doesn't require a central server or DB. If you look at the list of things this uses, it seems to employ MQTT to send an alert to other devices related to yours

You don't want a server and DB but local copies, I can understand that, but even for MQTT you need a server somewhere (or I missed something ?).

 

It's interesting to know if you want to synchronize notes as texts (last update erase the others) or synchronize changes on notes. Two different approaches. If it's text, you can use a private git repository and an API over it.

 

Is your app a personal app or is it distributed (and you don't want to manage users datas) ?

  • Like 1

Share this post


Link to post

hmmm ... let me give an example of something similar I've been thinking about.

 

I drive for rideshare services and I keep a little 2"x3.5" notpad in the car that I use to document each "shift" when I go out driving. When I begin a shift, I note the start mileage and time; later I enter the end mileage and time; as well as any relevant details I want to record during that shift. When I get home, I update it and tear it off the pad, take it to my computer, enter the details into a spreadsheet, and toss it in a pile with the rest of the little slips of paper from earlier shifts.

 

I was thinking of making an app that's very similar to this other one where it has a variety of different functions, as well as a tab for notes. In that case, I'd hit a button that says, "New Shift" and it gives me a clean place to write. It logs the time, the previous END mileage (if I haven't driven anywhere since then, it's the same), and lets me make notes. When I'm done, I'd click "End Shift" and it enters the time, asks me for the current mileage, and then I click OK and it would whisk it away to something like Apple's Notes app -- SimpleNote or something similar. 

 

I'd sit down at my desk, and that little page of notes would have been added to the list of notes on the Notes-like app -- as opposed to a little slip of paper from a notepad. If for some reason I'm out and about and need that info, and I have my laptop with me, I can simply open the Notes-like app and the whole pile of virtual slips of paper from the notepad would be there for me to look at.

 

So there's two parts to it: one simulates a little notepad that lets me take some notes, where I remove that sheet at the end of the shift, enter the data into my spreadsheet, and put the slip of paper onto a pile with the others. The second part is something that represents that pile of collected slips of paper that gets replicated automatically on whatever devices I want to install the Notes-like app on.

 

There are some obvious enahncements that could be made in this case, but for the purpose I'm asking about, this is really all there is to it.

 

I need something very simple to take one small page of notes on while I'm on my "work shift". That simple page of notes gets saved to a larger collection in a bigger app that lets me manage the stack of notes that accumulate over time. That's pretty much it.

 

In this case, my app is doing something specific and someone might want to take some notes from time to time. It's NOT a fancy note-taking app that does other stuff. Its an app that does something specific that someone might want to capture some short notes, and have them collected in a central common app for review later, like a small notebook. But you don't carry the notebook around with you. Rather, there's a little notepad of empty sheets; you can write some notes on the top sheet, tear it off, stick it in your pocket or wherever, and it finds its way to a collection of earlier sheets of notes -- only in this case, the data is sent electronically to a simple collection rather than on a little sheet of paper.

 

This is exactly the sort of use case that Apple's notes or SimpleNote is for, except you have to run that app and add a note and deal with all the others that are there as well.

 

 

Edited by David Schwartz
  • Like 1

Share this post


Link to post

Is this light-weight enough that MQTT would be safe to use as the transport mechanism?


There are public MQTT servers available that could be used. I don't know how secure they are, but they might be sufficient to send notes of up to, say, 1000 words, sent as a compressed data stream.

 

Does anybody have any experience with MQTT?

Share this post


Link to post
19 hours ago, Lajos Juhász said:

Instead of application you could use Google Sheets and Google Docs.

This is crazy ...

 

I have a car and I want to put a radio in it. You're saying, "instead of a car, just get a radio and walk."

 

Most others are saying, "Instead of a radio, why not install a whole radio station in the car and ... be your own DJ ... while you're driving."

 

Why is it so hard to get people to answer questions that are asked rather than first reinterpreting the questions and then offering an answer to their own interpretation?

 

 

CLIENT: I'm thinking about setting up a blog to publish some poetry online, what do you recommend?

DELPHI PROGRAMMER 1: if you like writing, just use Word.

 

DELPHI PROGRAMMER 2: Blogs are nice, but you're really better off making videos. Then you can monetize them on YouTube.

 

DELPHI PROGRAMMER 3: Microsoft has this thing called SharePoint that's great for writing stuff that you can share with your co-workers.

 

DELPHI PROGRAMMER 4: I hate blogs. Why not just publish your poems in a book?

 

DELPHI PROGRAMMER 5: Instead of poetry, you could go with SciFi. Trekkies would eat it up.

 

Edited by David Schwartz
  • Haha 2
  • Confused 1

Share this post


Link to post
1 hour ago, David Schwartz said:

Why is it so hard to get people to answer questions that are asked rather than first reinterpreting the questions and then offering an answer to their own interpretation?

Relax... if you don't get the answer on your exact question it means that people just don't know it and reply with something more or less related. Without these suggestions you'd just get zero responses, would that be better?

Edited by Fr0sT.Brutal

Share this post


Link to post

I don't know any app/software in this area.

 

If the user is the only user of the program, if there are no update of notes somewhere after publishing them on too different devices before synchronisation, perhaps you can use a local server on your desktop computer and apps that synchronize (or send notes) to it ?

 

AppTethering components could help on a local network (home or office).

 

MQTT is a solution : you send something in a queue an all "client" programs read what is in the list, but you should encrypt the content is you use something public.

Perhaps a Firebase (or other cloud thing) database can be a solution too.

 

If you already have a website (I'm sure you have), you can also try something like my "Planning API" project ?

- a web API server : a list of simple PHP script with no database to manage the CRUD operation, storing datas as JSON files in a subdirectory, change API keys and put it on a website (in a "complex" directory name)

- a Delphi FMX client app : it gets the datas from the server on startup, display them and send the changes to it by clicking a "synchronize" button.

In this project, all datas are stored on the server. A web connection is needed, but you can change the client app to have a "add note" feature without Internet and send them by clicking the button when a connexion is available.
https://github.com/DeveloppeurPascal/Planning-API

On the "liste de courses" project I have a real synchronization process and API : a web server (PHP and WebBroker available), a client app (Delphi FMX) which store datas locally and synchronize only changes. Each device have all datas, stored in a SQLite local database. The synchronization API works with a "changed level" on each record.
The current program store a true/false, an integer and a label. You can edit the code to store only a text if you want. The server can be published on a web site (for the PHP), on a server (Internet or local) (with WebBroker) or simply on your desktop. Synchronization can be done manually like it's coded or with a timer.
https://github.com/DeveloppeurPascal/Liste-de-courses

I think the "liste de courses" project is the best start to adapt something if you try to code your need.

  • Like 1

Share this post


Link to post
On 5/8/2023 at 7:16 AM, David Schwartz said:

Any ideas?

Use Android Studio and select Web App 🙂

 

I like to use SMS since most phone message apps can dial the phone number or map the street address in the incoming text.    You just send a text to your phone number to start.  

 

To connect from email use (Pho)-Num-ber@phonecompanytxtservice.com which most companies provide.

 

Pat  

Share this post


Link to post
12 minutes ago, Patrick PREMARTIN said:

Hi @David Schwartz

Did you finally found something to answer your need ?

Well, sort of.

 

I'm building a web app using TMS WEB Core, and it runs in the web browser. I noticed that on my phone there's a way to "share" something. So I'm able to write a text message, say, and then "share" it with SimpleNote. I guess it launches SN (or Notes, or whatever) and lets me create a new note with the contents of that text message. 

 

I checked and WEB Core seems to have a TWebShare component that lets you access that feature if it exists on a platform.

 

It's not quite what I was hoping for. I'm still considering alternatives, like letting the user choose what to do when they hit the [Save] button, like sending an email or text message or doing some kind of "share" with another app.

 

Or maybe I'll just build a version of SimpleNote. Who knows. I haven't decided which way to go yet. But folks here seem to think that the more friction your users encounter, the more they're gonna LOVE your app....

  • Like 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×