topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 10:37 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Suggestions for development of cross-platform Linux Outliner Note software  (Read 15363 times)

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Hi
We are a group of developers interested in producing feature-rich cross-platform, portable note-taking application.

Out initial idea is that it would include many of the features of applications like MyBase, Surfulator but perhaps allow the flexible positioning of notes on a page like in BasketNotes or OneNote.

In addition to having standard note-taking functions (assigning notes in a tree-like structure) that is being able to capture entire or partial selections of web pages, and have the ability to add notes about the webclippings. 

We envisage that the base version of the software will be open-source and free.  A paid pro version will help pay for the high cost of developing the program. (Unless anyone can come up with a great idea to help us make money with it and make it completely open-source :)

Suggestions on the following would be very much appreciated:

- recommendations for solid, flexible architecture that would be 'future-proof' (as far as possible)
- features you would like to see
- features you hope that we will AVOID :)
- practical considerations regarding building a robust application.

Thanks for any and all advice!

fenixproductions

  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 1,186
    • View Profile
    • Donate to Member
2Carrotnote

For most of the answers I recommend to take a look on this "monster":
https://www.donation...dex.php?topic=2362.0

Or Linux fork ;)
https://www.donation...ex.php?topic=18837.0

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Welcome Carrotnote! Sounds like a great project -- can't wait to hear how it progresses.

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
Welcome Carrotnote! And thanks for taking the challenge!
I've written a list of the features I like/don't like in the linux fork thread that fenix posted (page 1).
I'd also recommend installing onenote (comes with office 2007, there's a very generous trial too) and paying careful attention to features there. MS got this one right. It's already more used than powerpoint, and it even has fan sites. IMNSHO, a dev for a notetaking app is hamstringing himself if he ignores an app that seems to benefit from several years of MS research, and has a raving community. Most of the features are not difficult to implement at all (all but the OCR, I'd say).

I hope you fill the great void on multiplatform notetaking, and benefit from this huge opportunity.

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Thanks everyone for your replies and suggestions.

Our idea is to make the application as open source as possible, in order to attract the trust and confidence of users. 

Do you believe there is a "huge opportunity"?

Our technical team (which I am not part of :) will carefully examine OneNote.  I used it intensively several years ago and liked it very much prior to my switch to Linux. 

I am very impressed with InfoQube as well. (despite finding it quite difficult to learn)  Do you think it would be better to go with:

- a more simple OneNote style application (I assume the way it stores data makes it accessible to the user is simpler than the InfoQube/ ECCO model,

- an Surfulator/ InfoQube/ ECCO  model in which information items are database objects and can be organized both on a hierarchical tree and independently through tags. Users have a lot of flexibility regarding structuring their information.


Again, all suggestions will be appreciated.  We don't really have a very strong commercial/ profit motive in making this software- we want to make a full featured open-source note-taker for Linux (as our main goal but also cross-platform)  just don't want to go broke doing it. 

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
I do think there's a big void to be filled.
re: possible tools to make it:

Adobe air could be a possibility. Very easy to do crossplatform apps, not sure how well it integrates with clipboard (you'd need that to keep the url of things pasted from web).

Another option is Qt. Seems to be crossplatform now. it's C++, but there are bindings to other languages such as python. I think the new OSX doesn't support carbon anymore, so qt would not work there. TuxNotes is OS and Qt, could be worth a look.

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Hello!
Thanks to everyone for your comments. Our group will meet soon to discuss some of them

I have read many glowing reports about Grandview or PCoutline.  Is there a way to still run this software so I can test it? I had trouble learning much about it.  Reading how it works is not the same as trying it. 

What did these early applications offer that EccoPro does not offer?  Or, better yet, what did they offer that InfoQube does not offer?

We are not going to try to compete with Evernote.  That's impossible. Personally, I greatly dislike 'cloud' software and the idea of putting my data on someone else's server.  There appear to be many smaller developers out there apparently satisfied with their smallish base of customers.

We are mainly interested in making something for Linux that will also operate on other operating systems.  And it will be open source -- a drawing point that tends to attract quite a bit of support.  Unlike the big players, we're not in it for the money.

I'll greatly look forward to all suggestions and comments!

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Carrotnote: Even though I'm not a frequent use of this kind of software, I'd just like to express my appreciation for your effort of trying to build a fully cross-platform application ;)
I hope it all goes well!

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
As urlwolf points out, one early choice you will have to make is GUI library (and programming language).
Qt now has an open source option, and WxWidgets is another great choice.

I look forward to hearing more about the project so keep us in the loop.

From my own experience I would advise you to start thinking about, right from the start, ways in which you can provide a plugin api interface, and moving as much funcitonality into the plugin system and out of the core of the application as you can.

Paul Keith

  • Member
  • Joined in 2008
  • **
  • Posts: 1,989
    • View Profile
    • Donate to Member
Note to the OP: I'm a non-programmer who's just trying to share his views and frustrations:

recommendations for solid, flexible architecture that would be 'future-proof' (as far as possible)

Best future-proof version is to have two separate versions. Just see the appeal of many mobile apps with desktop alternatives.

The reality is that even if you create a cross-platform program, you're dealing with two to three audiences. You're never going to satisfy each of these people's requirements.

Linux users are more likely to crave cutting edge designs from your apps and don't mind you sacrificing a bit of stability for a whole lot of well-communicated developer feedback and adaptation of their bug fixes. It also has to be absolutely free, no strings attached.

MS users want stable and having a standard set of features. These people don't care as much for a program having lots of features as long as you focus on the user interface, the synchronization of data from area to area and basically privacy and ease of updates.

Mac users wouldn't mind no features as long as you put all the eye candy on to it and make it look like a native app.

These three userbase are so separated that you won't really get any flexible future proof cross-platform software without sacrificing things like the bulkiness of java. (at least from my un-educated experience)

It's not that you can't satisfy all these three markets with a decent enough app like most cross-platform programs do but forget about it being fool proof or being special if that's the case. You're not just going to be able to optimize each program for each OS unless you focus more on cross-back ups and cross-data and then just use the difference in culture demand to maximize your program's notoriety on each of those OS. Most of your audience won't really mind if one version is less capable than the other. They just want something that's special and only your program can offer.

If anything, a Linux-specific version with power user options can provide excitement for your Windows audience and your Windows audience reaction can make your Mac audience be more patient with their version while also providing the following that would back up your Windows and Linux audience.

Sure it's costlier and more un-realistic but with your goals, it might be much more realistic to do cross-platform but no app has ever really appealed to all crowds that matched with your lofty goals. (Even popular apps like Opera, Firefox, GIMP, etc. etc. are annoying and not seamless in transition.)

features you would like to see

Snappiness, stability and seamless.

Most of the programs you mentioned are bulky and have a confusing user interface compared to what they can do. It's not that they're non-functional but if anything EverNote has shown, good feature + good use of trialware + familiar user interface and you have an audience and a market.

Hell, you have two markets on the same OS. Except Evernote crapped on one of their markets.

You also have to take note that you can't fit everything into your program so audience won't be looking for a suite and won't want a suite. They want your mini-options as beating the competition in looks, design, feedback, plugins, security and simplicity.

The more you think of focusing on fitting all the programs (even if you think light bare bone alternative) instead of providing a simpler user-friendlier alternative with less features the more you're probably heading the way of Chandler.

 
features you hope that we will AVOID

Confusing format exporting and importing
Sluggishness in favor of features
Traditional look
Lack of ability to hide each section of the toolbar (see Opera shift + F12)
Lack of relationship between the features
Lackluster tutorial (i.e. clicking help)
Design for the sake of looking cool and large like Windows Media Player
Lack of thought in practical usage
Lack of specific goal the program excels at
Poor gap when jumping from beginner features to advanced ones
Poor website design and lack of clear feature list when downloading the app
Lack of basic "necessary" features when released because you were so focused on developing the app to put it through any real life test

practical considerations regarding building a robust application.

Say No to Featuritis

Don't try to fit two things into one (better cross-format than slow format)

Always take into consideration the systray.

Auto-back-ups, auto-back-ups, auto-back-ups

Never put in a feature half-assedly unless it's for the Linux/BSD version.

1 version beats 2 version; 1 1/2 version loses to 2 1 versions

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
From my own experience I would advise you to start thinking about, right from the start, ways in which you can provide a plugin api interface, and moving as much funcitonality into the plugin system and out of the core of the application as you can.

Totally agree here. One thing oneNote has over others is plugins (called powertoys). They are cropping all the time.

Very good point! Get this plugin functionality right, and you are on your way to an addictive application :)

Paul Keith

  • Member
  • Joined in 2008
  • **
  • Posts: 1,989
    • View Profile
    • Donate to Member
urlwolf, not trying to offend but what are the notable powertoys in OneNote so far? (Last I checked there weren't anything major compared to a major Firefox extension)

I'm not saying a plugin functionality is not essential but even apps like DonationCoder's don't get as much plugins (and would further get less if not for the community) and don't most FOSS developers have the default capability for supporting plugins because they are open-source? (Not saying that the code don't need to be improved upon but I can't quite see what plugin features are necessary for an outliner that isn't already implemented within the program.)

On the flip side, correct me if I'm wrong but in order to mimic Surfulator's clipping capabilities, doesn't that immediately imply that the program will support plugins already because these clipping capabilities require browser extensions?

Again, not trying to offend. Just wondering what idea you have in mind that might require a plug-in.

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
Hello
Thank you for all the interesting suggestions and ideas!  We really appreciate that!
Soon we will be looking for Linux coders to help with certain parts of development and we encourage any interested people to contact us!

It promises to be a fascinating project!

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
on onenote plugins: there are many interesting ones: search and replace, doing math operations on tables, concatenating pages together and adding a TOC, posting to a blog, etc. Of course, not to the level of FF addons (given the difference in user bases) but useful nonetheless.

Carrotnote: so you started coding already? Did you make a commitment to lang/libraries? If so, which ones you picked?

Thanks

Paul Keith

  • Member
  • Joined in 2008
  • **
  • Posts: 1,989
    • View Profile
    • Donate to Member
Thanks urlwolf.

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
@Carrotnote: any updates on where things stand? Are you still interested in writing such a notetaker? Thanks!

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
@Carrotnote: any updates on where things stand? Are you still interested in writing such a notetaker? Thanks!

Hi!
Yes we are still interested in creating the software. We are currently in the planning stage- our technical-guy is writing the planning document and we will review it in the next couple of days and hopefully begin coding.  We have not yet made commitments to lang/libraries, but this will be done very shortly. 

Is anyone here interested in contributing either code, money or some other type of contribution?  Cheering for our little project would also be welcomed!  But more helpful would be contributions and suggestions by talented coders.  I will make another posting as soon as we have made some decisions.

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
@CarrotNote
this is a bold idea. It may well throw you off-track for a while, but give it some thought...

One Killer feature of oneNote 2010 is real-time collaboration.
What does it do? It lets two or more people open the same notebook at the same time, and they can all write and see what others are writing.
That would take a heck of a lot of work to replicate in the open world.

This must ring a bell... it's exactly what google wave does.
In fact google wave works very well as a notetaker, and explains why google axed Notebook.

In fact, right kow a vanilla google wave matches features of top notetakers for Linux, such as tuxcards.
There are two downsides to wave as a notetaker:
  • You must be online at all times
  • it's slow to change from one set of notes to another (server request)

My proposal: write a wave desktop client.
This would be very useful not only as a notetaker.
Make waves (notes) accessible offline, and sync with other users of the wave when online.

If twitter is an example, such desktop client would spread like fire.
Technically, it may be even easier to implement than your own notetaker component: just wrap a browser!

I an invite you to wave if you want to check it...

thoughts?

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
addenum:
Another advantage of building notetaking on top of wave is that you have an API for extensions already built-in. And even an user base of extension developers. For example:

#
 TOC Generator - [email protected] - Table of Contents auto-generated and updated based on the h1,h2,h3,h4 in a wave.

List of extensions here.

Carrotnote

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 7
    • View Profile
    • Donate to Member
notetaking on top of wave is that you have an API for extensions already built-in. And even an user base of extension developers. For example:

Hm.. thanks for your suggestion.
I have never heard of WAVE.  Do I need an invitation? If so, please send on to me so that my little team here can test it.

I have a friend working for Google who reports that they are coming out with Google Smart Notebook soon.  Is this the same thing?

We want to avoid any reliance on online applications. Our plans include developing a plugin for on-line backup or collaboration, but we certainly do not want our application to depend on connection to the internet.

Lashiec

  • Member
  • Joined in 2006
  • **
  • Posts: 2,374
    • View Profile
    • Donate to Member
I have never heard of WAVE.  Do I need an invitation? If so, please send on to me so that my little team here can test it.

Amazing that you never heard of Wave until now, and I mean it in a good way. It's extremely tiresome to hear Wave this Wave that every day, and I'm not talking about the expectation it has created in the forum. Anyway, you do need an invitation, although it's quite difficult to get one right now, dunno if urlwolf can provide you with one.

I have a friend working for Google who reports that they are coming out with Google Smart Notebook soon.  Is this the same thing?

As far as I know, no, it's a completely different thing. But I think your friend has just provided us with a very interesting Google tidbit :D

We want to avoid any reliance on online applications. Our plans include developing a plugin for on-line backup or collaboration, but we certainly do not want our application to depend on connection to the internet.

Very nice! So you're taking a different path from Evernote, then? Do you plan to provide a paid service for that, rely on 3rd party servers, or something else?