Focus and Marketing


#21

Ok, let’s share my vision.

The goal for me is definitely a general purpose desktop OS. The one I want to use on my computers. Kind of a free software alternative to macOS these days. The main target at the moment would be these people who use macOS and work either on UNIXy things or web development or connect to some company server to do the heavy work. Somewhat technical users, but who want to use their computer, not spend days tweaking it to make it work how they need.

That being said, it is indeed too early to get there. As a developer, I’m already looking at the next step and trying to make that happen. Hence my work, for example, on improving the web browser.

As a first step, we want to get more developers in. There was a lot of discussions about this in the BeOS days (read the Be newsletter, etc for a glance at this). The approach then was to attract developers first, and users would come when enough apps are ready. So, let’s try that. What do we need then?

We will need proper development tools. You all know I’m a bare-bone “vim, cmake, terminal” guy, but I’m sure people will want something easier to setup. The ongoing work on Paladin and Koder is therefore important. I’m relieved that it’s now in the hand of people who have good understanding of how Haiku things should work and it will also be used as a demo of what we want to achieve: tight integration between independant apps. Paladin is a project manager, but it uses a 3rd party editor, this will be either Pe, Koder, or gvim (we will be meeting with Kapix and Adam to set this up during BeGeistert). Throw in a code completion engine (YouCompleteMe may be a good candidate) and you already have a good starting point for a great development environment.


#22

I’m really looking forward to BeGeistert. I’m sure we can get something up and running quickly.


#23

For allowing the users to use the full poewer of Haiku you must convince users to use Haiku at first place. Then, you can endorse a communication strategy to allow a more radical, native, switch.

Ppl continues asking to port applications here and there? Then, we should ask ourself why instead of judging.

Maybe they percieved the OS as cool but it would be too costly for them to leave thir regular usage apps comfort zone?

Thus, we’re probably in a stage when there’s no point for obsessively pushing Haiku to the general audience, yet. Or if we want to do so, we must accept they will ask for portings from dawn to sunset.


#24

Ofc I agree, we’ve discussed this several times. From the technical standpoint I’ve no worries: I’m sure you guys will find the best way to implement the perfect development ecosystem for Haiku (probably we need more documentations, though). Thus, devs will find a great place once landed.

But how to make them taking the flight? Imagine you’re talking with someone not emotionally and empatically involved in Haiku at all. Possibly, someone who have even heard about BeOs or somewhat. A Linux power user, probably, or a former Mac power user (someone that have used OSX in the past but quit due to hardware costs, for example)

This is the topic we should discuss here. We have touched several points, but not going to the kernel: the ‘why’

I’m still working on it but atm my best candidates as pushing values are fun (or even joyfullness), being smart, well designed and more precisely well organized. These are really unidimensional I know. As I said, I’m still working on it.


#25

But with nothing you does not can catch others. First we need people doing apps on haiku and Yes here are ports the best first way. But haiku is not ar the point to catch the target userbase you wish. There is a long, hard way to do that.

First we need more people helping out with documentations, articles, tests, development… Here we should do more.

Thats why i am doing descriptions all the years. My time and present to the project.

I do not say that you are wrong with your thinking. I think it is too early for it.


#26

I am happy people see this path. To do that we need a new media framework. The killer feature would be supporting the jack API out of the box. We still lack hw acceleration, for doing proper Video processing, but on the audio side there’s just a good API missing.

During my contract I’ve been developing the rtsp_streamer, which I could not finish due to a bug in the Haiku internals I had not enough time to investigate. With this module, after supporting client streams, my plan was to add to the codec_kit the support for streaming servers. At this point lots of what is being proposed in this topic, like media center support, will become a true reality. However, we also need MP to support that and have a web controlled UI.


#27

Yes, my approach is of course oriented to my own needs.

So let’s try this. Why Haiku?

It’s hard to define it on its own, so I would go with the things I like about it that differenciate it from other systems. Keeping in mind what we are interested in for now is attracting developers.

The main thing here is cohesion. We try to have everything fit together. This applies both to the system architecture, to the interaction between applications, and so on. This works well at the system level already, but not so much at the application level. We are still at the early stages there, and there is a lot of work needed to get applications to work together.

This also applies to the friendly and welcoming community (I hope so, at least). Adam’s blog post on his experience getting started with Haiku and Paladin sums it up quite well, so I’ll let you read that.

On the technical side, we can currently demo some cool features, which lets developers project ideas of how they could use these things in their own projects.

I can think for example of showing FS attributes and their use to manage email or a collection of music file; I can also think of the Media kit, with Cortex as a nice way to show what is possible (not overselling this because we need to redesign the API first). There are other features we currently don’t have much to demo about, such as application scripting (hey would be a nice tool for that, if only more apps exposed a scripting interface).

And yes, I forgot to mention documentation but of course we should put more effort there if we’re serious about getting more developers. We can’t expect them to work without a complete API guide at the very least.

I should also mention we seem to somewhat attract young student-developers, who have a lot of free time and can afford running an experimental OS. Often they later move on to more “serious” projects. It is harder to get people who are already deeply involved in working with another OS to switch to Haiku, unless their existing workflow gets broken (we used to get a wave of these at each OS X release, but I think Apple is making less changes to OS X these days).


#28

Well you say that, but thanks to the insane cost of a 32 GB Macbook Pro with an i9, I decided to get a custom laptop built for a fraction of the cost, and looked at Haiku for the OS. A few hardware issues mean I’m actually running Linux Mint at the moment, but I hope to get Haiku running natively on it soon.


#29

It’s not mainstream, it’s designed for gui usage without all the clutter that Windows Has, has native tools like unixes/Linux OS (not like cygwin). Installs fast with a ready to go GUI in small space.

Like Windows version XYZ, you expect all the users having a common GUI, and deliver to that, instead of needing to know if the user has KDE, Gnome/Gtk, XFCE, Enlightenment, or further desktops.

Can’t beat linux server side, but the desktop always had too much diversification.

Agreed on Adam blog opinions, very nice read.


#30

that’s a very interesting point. i’m the opposite of the »barebone coder«, but I’d still like to contribute. if possible porting or even better: writing new (just tiny) applications.
of course this is hard to translate into the modern times, but for example hypercard on the classic macs was a nice thing, back in the early nineties. for the first time, teachers, students, scientists and amateurs were able to create “stacks”. of course, this was not rocket science and no applications in the true sense, but a rich offer of various content.
transferred to today and haiku, could it possibly be something like livecode or squeak, a development environment with easy entry. the professionals among you will probably smile, but it would be a starting point and maybe one or the other will develop even further …


#31

Nice post @adamfowleruk, a very good reading!


#32

I’m hoping to make the Paladin IDE more new developer friendly eventually. Once the next version is done with all its associated bug fixes, I’ll start to add a variety of Haiku specific app templates, as well as look at general C++ developer samples for someone getting in to the language.

Also, although Paladin IDE currently looks just like a C++ IDE, it’s core is completely pluggable. I’ll try and expose that in a couple of versions so you can, for example, download the Paladin Python Pack extension.

My ultimate aim would be to produce something as or more friendly than the Arduino IDE or common school Python IDEs. I remember during University my Database 101 class used built-in tutorials of MS Access’ help functionality. These had step by step instructions, samples, starter projects, and explained relational model techniques as you learnt. Perfect for newcomers, but enough extras and references to keep intermediate developers interested too.


#33

Oh no, I’m not suggesting that we use any GNOME/GTK3 code! That would be horrible. :smile:
It was just an example of software that implements the KDE Connect protocol without the use of the KDE Connect desktop program itself.


#34

I was not born a professional. My story with computers involves writing BASIC and later Delphi code a lot, before I finally could attend a computer science school and get started with serious things. I think entry-level tools are needed indeed. Today I would guess Python would be a good choice for what I did with BASIC back then. And the nice thing about Python is that it can also be used to write serious applications.

I don’t know if Squeak is a good idea. In principle it is nice, but the fact that it is completely sandboxed from the rest of the system is not so nice. A great part of the amazement in programming is discovering how far you can get with controlling the computer and doing whatever you want. There are no limits. Squeak being largely sandboxed to its own thing reduces it to a toy, unfortunately. Also, smalltalk may not be the best language for learning, after all. I gave up on it when I learnt you can type true becomes false and that will break everything in your image. Why would a language allow this?

On Haiku we also have yab, which is a form of BASIC with GUI support and is used by several developers for their applications. It may be a good tool for this as well.


#35

Python speaks to me as a great introductory language that can scale to big projects and has a large and growing user base by now. It’s great, especially if important parts of the ecosystem is managed to get ported. Things like Pillow (we already have an old version), Numpy (already some version available), Pandas, OpenCV, Matplotlib, Flask, tkinter/ttk (requires tcl/tk).

Also, the whole virtual environments thing would need to be sorted out in order to be considered seriously by most Python developers…:


#36

Having talented students may be a great thing, because if we manage to be a welcoming community we will in the future have in them a lot of talented professionals that will know about Haiku and it’s past. And if they are now engaged into contributing with code, documentation or translations, maybe they will feel like this project also belongs to them, it will take a part in their lives. So, hopefully, they will be more likely to recommend it to their students or their friends, or even to become Haiku users at some point.

I would add that, besides developers, journalists, bloggers and youtubers should also be a target. The install and boot processes needs to be as quick and flawless as possible. Having good image editing tools and good browser support for sites like Facebook, YouTube, Instagram, Gmail and Wordpress is crucial. Having good visual introductory communication material (like tutorials in blogs and videos) can also help a lot in that area.

I understand that some of these aspects may be wishful thinking from my part. I know there are many moving parts and not a lot of skilled hands to make the move in the right direction. :wink:


#37

This is kinda how @waddlesplash started out with Haiku, so we know that it does happen to a certain extent.


#38

It’s the point of this ticket to identify the “focus” areas. What should I work on as a developer? And fixing the web browser is definitely pretty high on my TODO list.

I’m also a former GSoC student. However I think it is also important to get people to meet the other community members in real life when possible. Events like BeGeistert are underrated and it would be great to have more of these, or more Haiku people at already existing events.


#39

A couple more things to consider marketing Haiku as:

  • Private OS - an OS that does not collect data on it’s users
  • Lightweight OS - Why upgrade when your computer can still run smoothly with Haiku?

Marketing aside, I’m not sure why you think Haiku is lacking focus. The first thing you see on the Haiku website is:

Haiku is an open-source operating system that specifically targets personal computing.


#40

This is more a problem of the applications as of the system at all