Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Bubble99

macrumors 65816
Original poster
Mar 15, 2015
1,042
248
Is it lot of work and take long time to make app like Apple notes or simple notes app?

Would app like Apple notes or simple notes app take months to make? And app like Evernote, goodnotes or notability take year or two years to make? And what programming language do you need to learn to make app like that?
 

TiggrToo

macrumors 601
Aug 24, 2017
4,205
8,838
Is it lot of work and take long time to make app like Apple notes or simple notes app?

Would app like Apple notes or simple notes app take months to make? And app like Evernote, goodnotes or notability take year or two years to make? And what programming language do you need to learn to make app like that?

Writing an app like Notes, if you're experienced enough, is easy.

Writing an all that provides scalable synchronization across multiple platforms is harder.

Writing an app that provides scalable synchronization across multiple platforms and provides a full featured API is harder still.

As to time - well, that depends on the skills and numbers of developers.

Programming languages is a while different ball of wax and that depends on the platforms and functionality.

If the app on question provides its own sync service (aka Evernote) then you'll want VCs with deep pockets to pay the cloud bills you'll incur.

Which brings up the biggest question of all: how you planning on funding this?

And why would someone use your notebook service and not Notes, Bear, OneNote, GoodNotes, SimpleNote, Inkdrop, Notability, ZoHo notes or Evernote (to name but a few).
 
  • Like
Reactions: casperes1996

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
There's a lot of questions in there so let's unpack it a little at a time.

First off, a "simple" notes app is not how I'd define Apple notes. - It integrates with iCloud which is a rather complex system, has extensive pencil and drawing support, OCR functionality, can import scanned documents, includes tables and maths in those tables, several kinds of formatting, checklists different colour schemes, note encryption, lots of sharing options, text formatting, keyboard shortcuts, different kinds of grids for the notebook pages, a timed deletion system, syncing with third party note providers from email note services, folder collections, notes with GPS information baked in, live collaboration notes, and many many many more advanced feaetures.

So Apple Notes has presumably not been an easy app to make.

How easy it is to get a really simple notes app going on the other hand; If all we're doing is making an app where you can write a quick thing, save it, write another thing, save it and delete at will; I could make that by the end of today. Wouldn't be polished, wouldn't be unique-looking or elegant or anything like that, but it'd work.

How long something takes to make is a lot more than just about the app and what it can do as well. It's about scalability for the future, establishing a support infrastructure for the product, potential server-side code and maintenance, keeping up with platform developments over time, etc.

A smaller user-base and a smaller scope always entails less development time, even with an elegant and relatively feature-full app; Evernote for instance works on both Android and iOS with a large userbase with support requests and bug reports - a smaller userbase would find, report and care less about the bugs that may be, and require way less server-side resources, if any.

Making a prototype doesn't take long at all really, so I suggest throwing yourself into it. Don't expect your first attempts to be very maintainable long term though. It's not that hard to write code that works; Writing code that is easy to work with later on can be trickier though, so to get a good architecture you may need some experience that you won't have on your first few goes; But then you refactor or start over and it's not wasted time, even if you throw it out; It's developmental learning.

As for languages; Well, to make an analogue to real languages, if I want to ask where the toilet is, it doesn't really matter if I ask in German, English, Spanish or Danish, as long as there's someone that can translate it to what the person I'm talking to understands. And pretty much any programming language will compile, or "translate" into machine code. - Some are easier than others for certain things; Like working with UIKit on iOS for displaying a graphical user interface, but a programming language is just notation. Learning one will get you a good way towards learning another.
Earlier this year I wrote my first ever C# code. For a majority of it I didn't look at documentation or Google or anything, because most code isn't that different from each other. Of course the languages are different and some more than others, but a fundamental understanding will get you far with all of them.

If I were to give a recommendation though, Swift is a good language for developing for Apple platforms. - With Xcode and Swift you don't need to worry about a lot of things you'd have to for using another IDE with another language. All the system libraries and frameworks are available to you and it's all gathered nicely in one place with documentation and autocomplete already set up for you, and you can quickly and easily run the code. Swift is also a fairly easy language to get started with - Though it has a lot of advanced feaetures, in its base form its easy to read and use
[automerge]1589408946[/automerge]
Which brings up the biggest question of all: how you planning on funding this?

And why would someone use your notebook service and not Notes, Bear, OneNote, GoodNotes, SimpleNote, Inkdrop, Notability, ZoHo notes or Evernote (to name but a few).

I was assuming it was more of a "I want to learn how to do this" than thinking of making it a profitable business, and I wouldn't discourage anybody from taking on any app idea, no matter how many better alternatives there may be, for the purposes of learning.
But if the OP was thinking of doing it just to make money, well, yeah... :p
 
  • Like
Reactions: chown33

Bubble99

macrumors 65816
Original poster
Mar 15, 2015
1,042
248
Well I would start with python first because they say it is the easiest for some one just getting into programming for the first time. But if iOS does not use python and python not good for apps than well python may not be good place to start.

I'm not sure what iOS uses? I know Android uses Java.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
Well I would start with python first because they say it is the easiest for some one just getting into programming for the first time. But if iOS does not use python and python not good for apps than well python may not be good place to start.

I'm not sure what iOS uses? I know Android uses Java.

A platform does not per se "use" a specific language. It may have libraries, frameworks and toolchains designed for a certain language, but a language is in and of itself platform agnostic.

I wouldn't recommend Python for app creation, but there probably is a runtime interpreter that can package python within an app bundle
 

Red Menace

macrumors 6502a
May 29, 2011
578
226
Colorado, USA
The easiest way would be to just work out what you want an app to do and jump in and try to do it, although you should probably start with something simple so that you don't get too discouraged. You see a lot of topics where the poster says "it should be simple enough", but it can be a real eye-opener when you actually try to do something.

I still don't know why people say to start with Swift - it is definitely not a language for beginners. It was interesting when it started out, but has evolved into a mess by trying to be everything to everyone. Then there is the monstrous IDE know as Xcode, which has a fairly steep learning curve all by itself, and I haven't even gotten to the Cocoa/Cocoa Touch APIs.

Starting out with a language such as Ruby or Python that abstracts a lot of the low level stuff gives you a chance to learn some programming without dumping everything on you at once. They also run in a variety of environments, and have a lot of tools available so that you can add stuff incrementally as you learn.

Once you get an idea of what is going on, you will be better able to tell if a particular language or IDE is more to your liking, and can move on from there.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
I still don't know why people say to start with Swift - it is definitely not a language for beginners. It was interesting when it started out, but has evolved into a mess by trying to be everything to everyone. Then there is the monstrous IDE know as Xcode, which has a fairly steep learning curve all by itself, and I haven't even gotten to the Cocoa/Cocoa Touch APIs.

Starting out with a language such as Ruby or Python that abstracts a lot of the low level stuff gives you a chance to learn some programming without dumping everything on you at once. They also run in a variety of environments, and have a lot of tools available so that you can add stuff incrementally as you learn.

Yes, Xcode is big, and yes Swift is huge and has a lot of not so beginner friendly aspects. But Swift can still be used in a beginner-friendly way, and you don't need to work with UnsafePointers or whatever.

The reason I recommend Swift for people who primarily, perhaps even exclusively, is not because it's necessarily the best language for a beginner, but because it's the easiest and fastest way of making something that will actually run like an app on your iOS device, which will increase motivation to learn more.
Just open Xcode, drag a button into the Storyboard file, link it to a ViewController and write something like
sender.textLabel.text = "Hello" after setting the sender argument to UIButton, and you'll already have an app you can run on device that has interactivity.
Getting a Ruby program to run like an app on an iOS device, well I've never tried it, but I'd be astonished if it were as simple as that.

And you really don't need Swift's more advanced features to make simple apps anyway.

Java is often used as an introductory language at universities, and I actually think Java is really good for that. Even though just like Swift the language has a lot of features you wouldn't want a beginner to worry about like marking blocks as synchronised or setting variables as volatile. But you can just choose to not use those language features until you're comfortable with the basics. It's not needed to make your app vision real
 

Red Menace

macrumors 6502a
May 29, 2011
578
226
Colorado, USA
Getting a Ruby program to run like an app on an iOS device, well I've never tried it, but I'd be astonished if it were as simple as that.

Actually, the RubyMotion toolchain will build native [i|watch|tv|mac]OS apps using Ruby, pretty much just that simple, and one of the big plusses (for me, anyway) is not having to use the Xcode IDE (although I can if I'm feeling crazy).
 

Bubble99

macrumors 65816
Original poster
Mar 15, 2015
1,042
248
If the app on question provides its own sync service (aka Evernote) then you'll want VCs with deep pockets to pay the cloud bills you'll incur.

Which brings up the biggest question of all: how you planning on funding this?

And why would someone use your notebook service and not Notes, Bear, OneNote, GoodNotes, SimpleNote, Inkdrop, Notability, ZoHo notes or Evernote (to name but a few).


well game app or app like photoshop or MS office probably way way way harder and not good for newbie to start with.

That why some thing like note taking app, calendar, memo, day planner so on probably be simpler for newbie.

well not talking about cloud, sync, printing, file conversion, back ups, PDF support how hard would it be and take? A month or two month or a year? App that allows input and output the data to Apple files.

Now some one here was saying writing on the iPad is hard to make app to support writing on the iPad than just using iPad built in keyboard?

So if I understand it well for newbie it may be too hard to make app to support apple Pencil than just using the built in apple keyboard.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
well not talking about cloud, sync, printing, file conversion, back ups, PDF support how hard would it be and take? A month or two month or a year? App that allows input and output the data to Apple files.

It's really not easy to put a number to it. It depends how many hours a day you will put into it, how fast you work, how much time you'll spent on making the design appealling. A rule of thumb is that it'll take as much time as you're prepared to spend on it, and then some. Even sticking to a fixed feature set you can always fine more polishing up to do.
But my biggest recommendation is just to start trying to make it, really.
I don't really know how much time it'd take for someone new to programming, but as I've mentioned before on this thread, if we're just saying a list you can write to and delete from, I could have it done in a day, but not with a super good or elegant solution necessarily. The most important thing when learning isn't to get it done fast though, but to get it done right, so all the simple things you'll still want to spend some more time on to understand what it meant more broadly as well.

So if I understand it well for newbie it may be too hard to make app to support apple Pencil than just using the built in apple keyboard.

Not necessarily too hard, in fact I'm sort of of the belief that almost nothing is too hard for a beginner, it will just take longer. But I definitely recommend starting out with just having regular keyboard input. It is by far easier to deal with, yes.

I can only recommend just starting.
 

firewood

macrumors G3
Jul 29, 2003
8,113
1,353
Silicon Valley
An experienced programmed, by carefully bounding scope, could probably whip out a simple working prototype in a hackathon weekend working part-time. Add just a few nice design details and API support, and a less experienced programmer could spend a good fraction of an entire year to finish a polished release. For one with full featured enterprise capabilities, maybe not just one programmer, but a fairly large team. And some fraction of beginners might start such a project, beat their head against a wall for a year, and never finish. Others beginners learn faster.

So, somewhere in between those 3 timeframes. 'zat helpful?
 

Bubble99

macrumors 65816
Original poster
Mar 15, 2015
1,042
248
The game Pacmman or pitfall game probably be easier for beginner to make than some thing like Apple notes.

A diary app or calculator app are probably really hard to make.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
The game Pacmman or pitfall game probably be easier for beginner to make than some thing like Apple notes.

A diary app or calculator app are probably really hard to make.

Well it all just depends on the level of detail you want to go into.

And making something new also takes longer than remaking something you already know exactly how you want to work; To use Pacman as an example, if you make that from scratch you need to experiment with all sorts of things, like how fast Pacman moves for example. If you're just remaking it, you know exactly how fast he moves in the original, can compare against it and just tweak to match it. Or how long does he gain invincibility? You don't need to experiment with how it affects gameplay, you just match what exists. - The same goes for other apps. Especially ones with a large user base where you can't as easily experiment with the deployed product without potentially irritating users.


You can make a diary or calculator app extremely simply, and I encourage you to just do it. But you can also make them huge. It's just not something we can easily set a time estimate for. - If a client asked me how long it would take to make, I would have the advantage of knowing my own skill set, but I would still need a meeting of going through an extensively elaborated feature list - and at the end of it all I'd add a large margin to my estimate, since the client will inevitably wind up changing their list of features and requirements halfway through development because what's obvious in their mind is not always obvious to the developer when they don't express it. If they give me a feature list for a calculator that only has plus, minus and multiply, they may say when they see the first prototype that it obviously needs a button to remember 3 results in memory slots. But that was never specified.

And if we factor in that you asked for a beginner developer, well, are we estimating time to write the code without understanding it? I could find you a guide online where you just write in the code it tells you to in the tutorial and at the end you have a classic 4-function calculator, and you could probably go through that in a day. But if you're to actually learn from it and understand the meaning behind every line, things are different. - It's just not that simple to put a time estimate to it. But I encourage you to just do it. Just make something. Best way of learning is to jump in, and if it's fun, does it matter how long it'll take? And if it's not fun, why bother anyway?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.