I'm looking to recruit developers for a startup company.

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

I'm looking to recruit developers for a startup company.

Post by georgemorgan »

Hello,

As the subject of this thread suggests, I'm interested in recruiting developers for a startup that I founded a few months ago. Before I go into detail about what kind of team members I'm looking for, I think that it would be important for me to talk a little bit about what this startup is focused on and where we are right now.

To get started, I'm going to talk a little bit about the Arduino. For those of you who don't know what Arduino is, it's a small 'computer' that enables components such as sensors, lights, motors, or displays to cooperate and form "interactive objects and environments". I'm not going to go into much detail about the dynamics of Arduino or its motives, but their goal can be summarized as: make creating electronics projects more user-friendly. While they have dramatically simplified the process of developing hardware applications, I still don't feel that it's as simplified as it should be for beginners. In order to get started with the platform, it is mandatory that the user either have had experience programming or be willing to learn how to program. What I've observed is that this can be discouraging to many and cause them to give up hope of ever completing their projects. In no way, shape, or form do I dislike Arduino or what they stand for. All I believe is that what they're trying to accomplish can be done better.

At the opposite end of the Arduino spectrum is a device called the Raspberry-Pi. While its goals are almost identical to those of Arduino, the hardware is much more intricate. It runs an entire Linux distribution. The first major problem with that is: when you're running an operating system as abstract as Linux, it becomes virtually impossible to interact with the hardware in the same way Arduino does. Sure, there are libraries and wrappers for the Pi, but none of them give the developer the feeling that their code is running barebones - something that many of us here can attest to is a magical feeling. It's also not as easy to set up or get plugged into projects as the Arduino, as it is required that the user burn a Linux image to an SD card as well as be somewhat familiar with the Linux command line before getting into a GUI. It does have its advantages over the Arduino though that have put it where it is in the market.

So, the question is, how can a development platform be designed that parallels the advantages of both platforms while remaining easy to use and dirt simple to get started using. To answer this question, I founded a startup called Flipper Engineering on 11/12/13 with one goal in mind: to make an electronics prototyping platform that bridges the gap between the Arduino and the Raspberry Pi. The majority of the time since then has been spent designing the hardware - which I'm pleased to announce has been completed. It utilizes an ARM SoC which is build upon the classic ARM7TDMI architecture. Aside from the hardware, I've also spent time working the most critical component of the device: its operating system. The operating system that I've been working on will have a few key features. It will implement a scheduler that will enable pseudo-multitasking, virtual memory to keep each program's memory isolated from one another, as well as an interactivity module that will allow the hardware to be controlled from a PC without the need to compile and install a program to do so.

Operating systems tend to be pretty time consuming projects, and I don't have enough time to complete one before I'd like to launch this product. That's where you come in. I know that many of you are talented operating system designers and would have no problem helping me implement a small embedded operating system over the course of a month or so.

If this sounds like something that might interest you, you can email me at "george (at) flipper.io" or PM me on here. We can talk about the project in detail and go from there. I assure you that there are many details that set this kind of platform aside from what already exists. I don't want to give away too many details yet, so it'd be better if we could talk one on one.

---------------------------------------------------------------------------------------------------------------------------------------

User "Schol-R-LEA" asked these questions. I thought that I'd include them, as well as my response to them, here in the original post to help new readers get a better idea of the project.
Schol-R-LEA wrote:OK, I'll bite; while I am currently employed, and happy with my job for the most part, but I am always looking for opportunities to work in my preferred area (system development) over the applications work I am currently doing. I am sure there are several here with the same basic questions I would have, hence I am posting in the message board rather than by PM.
  • What sort of compensation would you be able to offer? (You must have known this would come up)
  • Are you looking primarily for full-time commitment, or would part time work be possible?
  • What do you expect candidates to bring to the table? This is important here especially because, unlike in most employment situations, most of the experience at OS-Dev is going to be in hobby situations, rather than professional ones; while many here are indeed professional developers, most are not, and those who are generally haven't worked in OS development professionally (indeed, I doubt any have).
  • What is the firm's source of start-up funding, and how much is it capitalized for?
  • Where are you located, and would there be face-to-face meetings required at times?
  • How long do you project the initial development to take?
  • Will you need longer-term developer commitments, for maintenance and improvements?
  • Who will be doing the software design work, and how much has been done to date?
  • What sort of toolchain do you already have in place? What existing tools, if any, do you mean to apply?
  • What languages, etc. do you intend to use?
  • What sort of system and utilities do you intend to provide the client-developers?
For my own part, I am more interested in experimental systems than production ones; and while I am well-versed in C/C++ and most of the conventional GNU toolchain, I am mostly working on a Lisp-derived language and system as my hobby work, which involves creating a completely new toolchain for system development. I have had little success to date, mainly due to time constraints, but I am proceeding with my retargetable macro assembler even so. I would especially relish an opportunity to work on an ARM or MIPS based system, if only to get the bad taste from working with the x86 ISA out of my mouth :roll: , but I doubt you would see my approach as viable for a commercial product just yet.
That's understandable. When writing the initial post, I didn't want to get into too much detail - rather I was just curious if anyone would, indeed, 'bite'. And here we are.

I suppose I'll just answer your questions in bulleted form, as you have asked them.

• Compensation is mildly tricky right at the moment. As is the case with most startups, especially in their early stages, it's difficult to 'hire' someone per say. What I was hoping for you hit on later in your post. I'm looking to bring someone in who would be willing to do what they would normally do for fun, but for a greater cause. I'm going to skip ahead a few questions and talk a little bit about funding. Right now, I'm funding this project out of my pocket. I'm fairly well off, which makes this possible, but a lot of this money is being spent on prototyping, tooling, testing, and other expensive aspects of having printed circuit boards manufactured. I don't have money in this early stage to pay an employee. However, if we work together and make the startup successful, you can be rest assured that you will be compensated for your efforts in the event that we do come by some money. If worse comes to worse and the startup doesn't make any money, I'm sure that I would be able to pay you a fair bit for what you've done.

• This is a moderately easier question to answer. Whatever works for you. My hopes would be that you would spend whatever time you might have after your job / on the weekends working on the project. It really doesn't matter to me how much or how little you work on the project - if you can deliver something valuable, even if it's something small, that's all I'm after.

• I'm looking for someone who is kind, and can work well on a team. Someone who will go above and beyond what they're told to do in an effort to make something more user friendly, or something that's more efficient. It's imperative that you have solid problem solving skills and know how to apply them. This goes without saying here on this forum, I'm looking for someone who's had experience writing operating systems. I, myself, am by no means a professional operating system developer. What I can do, however, is use the skills that I've developed over the years to write system software that works - and if I don't know how to do something, I'm more than willing to look it up and learn how to do it. Anyone with similar qualities would be a great fit, professional or hobbyist.

• Like I said, I'm funding this out of my pocket. I've spent a good amount of money on it so far. ~$15,000

• The startup is located in California. Face-to-face meeting would be a key component of communication and problem solving, so yes. Skype would fix the distance problem, unless you're interested in flying in.

• So, the initial development is completed. Right now, we're in the final stage - software development.

• If the team likes you and I think that you have a lot to offer to the company, long term developer commitments are definitely an option. It all depends on how much money the startup makes, and if it's enough to hire full time employees (or even part time). Another one of our current developers will be getting a full time job if the startup takes off.

• The software design was done by me and it is completed. I have also written some of the code. While I could probably finish the operating system on my own, it's valuable to be part of a team. There may be aspects of my software design that you think should be changed. This is important to ensure that we release the best product possible.

• It's a bit vague what you mean by 'toolchain', but I'm going to assume that you're talking about the compiler, libraries, and other like components. The official toolchain is 'arm-none-eabi'. However, I've been using ARM LLVM with Clang as the frontend for the compiler. This is all up in the air, but has been pretty solid thus far. As far as libraries go, I'm lightly relying on the standard arm-none-eabi-libc C library. As far as other libraries are concerned, there are going to have to be other libraries developed for the SDK. We can go into detail about this if you decide to join the team.

• Right now, I've been using primarily C and assembly - the standard stuff when it comes to operating system development. Some of the startup's secret sauce, which runs on the host PC, will be written in Python. That's about it for now. If you have more you'd like to bring to the table, you're welcome to by all means.

• This is perhaps the best question. This is what I was alluding to by saying "I assure you that there are many details that set this kind of platform aside from what already exists." Right now, I can tell you that we are in the process of writing a custom IDE and command line interface for Windows, Mac OS X, and Linux, a server API, and libraries for Python integration. We're also working on a fully fledged SDK for integration not only on the native ARM architecture, but the x86 architecture as well. These components fall into the 'secret sauce' I mentioned earlier and I will have to discuss with you in detail one on one.

I completely understand where you're coming from. I, too, hate the corporate mentality. There's one thing that I'd like to make very clear here and now. I know that I've been talking quite a bit about money. While I know how to run a successful business, which mandates knowing how to manage money, that is not what I care about. I am a hobbyist operating system developer at heart who, like many of you, is interested in getting his creation out into the world. I do not care about money, nor fame. My greatest goal is to make a difference. Nothing would make me happier than to see someone's life become better as a result of my (our) creation being in it. That is what has inspired me to create this startup.

I'm exceedingly glad that you mentioned your desire to experiment. 99% of what has driven my love for operating systems has been experimental. I've spent the last 3 years working on an experimental paradigmatic operating system. Many of the experimental features that I incorporated in that OS, I hope to bring into this OS - at least under the hood. The magic about a startup is that not only do you have the freedom to do anything - you have the agility to do it. Anything is viable as a consumer product, you just have think outside the box. If you want to make LISP a supported language, by George let's do it.

Oh, and if you haven't noticed, this whole project eats, sleeps, and breaths ARM. If you're looking to get away from x86, this is your opportunity.

Thank you for your time,

George
Last edited by georgemorgan on Fri Jul 25, 2014 9:10 am, edited 1 time in total.
Nable
Member
Member
Posts: 453
Joined: Tue Nov 08, 2011 11:35 am

Re: I'm looking to recruit developers for a startup company.

Post by Nable »

SonyQrio wrote:[...]
to make an electronics prototyping platform that bridges the gap between the Arduino and the Raspberry Pi.
[...]
Did you hear about Olimex? I think that their boards (modifications with different CPUs^W MCUs are available) with UEXT connectors are targetting the same idea.

A bit of emotinal offtopic: I hate arduino, especially for its worshippers that spread wrong stereotypes about complexity of development using ordinary components and toolchains.
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

So, there have been people that have built different hardware platforms. There are tons and tons of development platforms floating around.

However, all of them either use Arduino's infrastructure - with their IDE and open source code. Or, they use Linux.

The key component that would set the startup's product aside from everyone else is its attention to detail and the time that has been spent re-thinking the software behind it.
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: I'm looking to recruit developers for a startup company.

Post by bluemoon »

I should point out that there are projects that use rpi as bare-bone (for prototype), linux is just optional, convenient tool for some users.

Note that IMO rpi is not good for end product, it generate too much heat, BOM cost concerns, and the developer interfaces are optional for consumer. So good luck with your startup.
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: I'm looking to recruit developers for a startup company.

Post by Schol-R-LEA »

OK, I'll bite; while I am currently employed, and happy with my job for the most part, but I am always looking for opportunities to work in my preferred area (system development) over the applications work I am currently doing. I am sure there are several here with the same basic questions I would have, hence I am posting in the message board rather than by PM.
  • What sort of compensation would you be able to offer? (You must have known this would come up)
  • Are you looking primarily for full-time commitment, or would part time work be possible?
  • What do you expect candidates to bring to the table? This is important here especially because, unlike in most employment situations, most of the experience at OS-Dev is going to be in hobby situations, rather than professional ones; while many here are indeed professional developers, most are not, and those who are generally haven't worked in OS development professionally (indeed, I doubt any have).
  • What is the firm's source of start-up funding, and how much is it capitalized for?
  • Where are you located, and would there be face-to-face meetings required at times?
  • How long do you project the initial development to take?
  • Will you need longer-term developer commitments, for maintenance and improvements?
  • Who will be doing the software design work, and how much has been done to date?
  • What sort of toolchain do you already have in place? What existing tools, if any, do you mean to apply?
  • What languages, etc. do you intend to use?
  • What sort of system and utilities do you intend to provide the client-developers?
For my own part, I am more interested in experimental systems than production ones; and while I am well-versed in C/C++ and most of the conventional GNU toolchain, I am mostly working on a Lisp-derived language and system as my hobby work, which involves creating a completely new toolchain for system development. I have had little success to date, mainly due to time constraints, but I am proceeding with my retargetable macro assembler even so. I would especially relish an opportunity to work on an ARM or MIPS based system, if only to get the bad taste from working with the x86 ISA out of my mouth :roll: , but I doubt you would see my approach as viable for a commercial product just yet.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

That's understandable. When writing the initial post, I didn't want to get into too much detail - rather I was just curious if anyone would, indeed, 'bite'. And here we are. :D

I suppose I'll just answer your questions in bulleted form, as you have asked them.

• Compensation is mildly tricky right at the moment. As is the case with most startups, especially in their early stages, it's difficult to 'hire' someone per say. What I was hoping for you hit on later in your post. I'm looking to bring someone in who would be willing to do what they would normally do for fun, but for a greater cause. I'm going to skip ahead a few questions and talk a little bit about funding. Right now, I'm funding this project out of my pocket. I'm fairly well off, which makes this possible, but a lot of this money is being spent on prototyping, tooling, testing, and other expensive aspects of having printed circuit boards manufactured. I don't have money in this early stage to pay an employee. However, if we work together and make the startup successful, you can be rest assured that you will be compensated for your efforts in the event that we do come by some money. If worse comes to worse and the startup doesn't make any money, I'm sure that I would be able to pay you a fair bit for what you've done.

• This is a moderately easier question to answer. Whatever works for you. My hopes would be that you would spend whatever time you might have after your job / on the weekends working on the project. It really doesn't matter to me how much or how little you work on the project - if you can deliver something valuable, even if it's something small, that's all I'm after.

• I'm looking for someone who is kind, and can work well on a team. Someone who will go above and beyond what they're told to do in an effort to make something more user friendly, or something that's more efficient. It's imperative that you have solid problem solving skills and know how to apply them. This goes without saying here on this forum, I'm looking for someone who's had experience writing operating systems. I, myself, am by no means a professional operating system developer. What I can do, however, is use the skills that I've developed over the years to write system software that works - and if I don't know how to do something, I'm more than willing to look it up and learn how to do it. Anyone with similar qualities would be a great fit, professional or hobbyist.

• Like I said, I'm funding this out of my pocket. I've spent a good amount of money on it so far. ~$15,000

• The startup is located in California. Face-to-face meeting would be a key component of communication and problem solving, so yes. Skype would fix the distance problem, unless you're interested in flying in. :P

• So, the initial development is completed. Right now, we're in the final stage - software development.

• If the team likes you and I think that you have a lot to offer to the company, long term developer commitments are definitely an option. It all depends on how much money the startup makes, and if it's enough to hire full time employees (or even part time). Another one of our current developers will be getting a full time job if the startup takes off.

• The software design was done by me and it is completed. I have also written some of the code. While I could probably finish the operating system on my own, it's valuable to be part of a team. There may be aspects of my software design that you think should be changed. This is important to ensure that we release the best product possible.

• It's a bit vague what you mean by 'toolchain', but I'm going to assume that you're talking about the compiler, libraries, and other like components. The official toolchain is 'arm-none-eabi'. However, I've been using ARM LLVM with Clang as the frontend for the compiler. This is all up in the air, but has been pretty solid thus far. As far as libraries go, I'm lightly relying on the standard arm-none-eabi-libc C library. As far as other libraries are concerned, there are going to have to be other libraries developed for the SDK. We can go into detail about this if you decide to join the team.

• Right now, I've been using primarily C and assembly - the standard stuff when it comes to operating system development. Some of the startup's secret sauce, which runs on the host PC, will be written in Python. That's about it for now. If you have more you'd like to bring to the table, you're welcome to by all means.

• This is perhaps the best question. This is what I was alluding to by saying "I assure you that there are many details that set this kind of platform aside from what already exists." Right now, I can tell you that we are in the process of writing a custom IDE and command line interface for Windows, Mac OS X, and Linux, a server API, and libraries for Python integration. We're also working on a fully fledged SDK for integration not only on the native ARM architecture, but the x86 architecture as well. These components fall into the 'secret sauce' I mentioned earlier and I will have to discuss with you in detail one on one.

I completely understand where you're coming from. I, too, hate the corporate mentality. There's one thing that I'd like to make very clear here and now. I know that I've been talking quite a bit about money. While I know how to run a successful business, which mandates knowing how to manage money, that is not what I care about. I am a hobbyist operating system developer at heart who, like many of you, is interested in getting his creation out into the world. I do not care about money, nor fame. My greatest goal is to make a difference. Nothing would make me happier than to see someone's life become better as a result of my (our) creation being in it. That is what has inspired me to create this startup.

I'm exceedingly glad that you mentioned your desire to experiment. 99% of what has driven my love for operating systems has been experimental. I've spent the last 3 years working on an experimental paradigmatic operating system. Many of the experimental features that I incorporated in that OS, I hope to bring into this OS - at least under the hood. The magic about a startup is that not only do you have the freedom to do anything - you have the agility to do it. Anything is viable as a consumer product, you just have think outside the box. If you want to make LISP a supported language, by George let's do it.

Oh, and if you haven't noticed, this whole project eats, sleeps, and breaths ARM. If you're looking to get away from x86, this is your opportunity.

That is all,

George
User avatar
Jezze
Member
Member
Posts: 395
Joined: Thu Jul 26, 2007 1:53 am
Libera.chat IRC: jfu
Contact:

Re: I'm looking to recruit developers for a startup company.

Post by Jezze »

I like what I read. From the description of this operating system you want to make it sounds a bit like Contiki. Have you looked at that anything?
Fudge - Simplicity, clarity and speed.
http://github.com/Jezze/fudge/
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

Jezze wrote:I like what I read. From the description of this operating system you want to make it sounds a bit like Contiki. Have you looked at that anything?
Yes, I have heard of it. What they're doing is developing an operating system for the IoT (Internet of Things). That's not the path that I'm trying to take this project down. Rather than heavily integrating this project with the web like many similar startups are doing, I want to focus on developing the best barebones standalone development platform that I can, and focus my efforts on that like a laser beam. Even if there was another operating system out there that was identical to the one I currently envision, that wouldn't discourage me from making my own. I think that statement alone sums up an innate quality that all of us developers here share.
embryo

Re: I'm looking to recruit developers for a startup company.

Post by embryo »

It's interesting thread. My skills are outside of the ARM or C, so I'm definitely out, but may be we can discuss the idea?
SonyQrio wrote:For those of you who don't know what Arduino is, it's a small 'computer' that enables components such as sensors, lights, motors, or displays to cooperate and form "interactive objects and environments".
...
In order to get started with the platform, it is mandatory that the user either have had experience programming or be willing to learn how to program. What I've observed is that this can be discouraging to many and cause them to give up hope of ever completing their projects.
From the text above I can conclude, that the goal is a user friendly environment, which is able to translate user's primitive actions (not programs) into controller's software that manages sensors, lights, motors and so on.

But as is said here:
SonyQrio wrote:So, the question is, how can a development platform be designed that parallels the advantages of both platforms while remaining easy to use and dirt simple to get started using. To answer this question, I founded a startup called Flipper Engineering on 11/12/13 with one goal in mind: to make an electronics prototyping platform that bridges the gap between the Arduino and the Raspberry Pi.
It is expected, that a target auditory should be able to write programs and even understand an OS environment behind the proposed software as is the case with Raspberry Pi. It is a contradiction.
SonyQrio wrote:Aside from the hardware, I've also spent time working the most critical component of the device: its operating system. The operating system that I've been working on will have a few key features. It will implement a scheduler that will enable pseudo-multitasking, virtual memory to keep each program's memory isolated from one another, as well as an interactivity module that will allow the hardware to be controlled from a PC without the need to compile and install a program to do so.
Here I see another contradiction. If the goal of the software is to manage some hardware then the need for OS is very questionable. What is the advantage of having an OS (that will take a lot of controller's resources)? What is value the OS can deliver for the target auditory?
SonyQrio wrote:I know that many of you are talented operating system designers and would have no problem helping me implement a small embedded operating system over the course of a month or so.
A month or so is a really small term to pay attention to. And if we consider that a developer should perform just some very restricted programming efforts, governed only by your goals, then such efforts should be paid in full without any period of waiting for a market success. Just because it's a dumb work, a month of satisfying of alien needs. Or your goals should be the developer's goals, but it is hard to achieve.
SonyQrio wrote:This is important to ensure that we release the best product possible
And this is important to understand - the best product possible needs the best time possible. It means - a lot of time. So, you are doomed to compromise this goal (unless you are a billionaire).
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

embryo wrote:From the text above I can conclude, that the goal is a user friendly environment, which is able to translate user's primitive actions (not programs) into controller's software that manages sensors, lights, motors and so on..
Yes, you have the right idea. One of the features we are currently implementing gives the user the ability to control the device without writing programs for it.
embryo wrote:It is expected, that a target auditory should be able to write programs and even understand an OS environment behind the proposed software as is the case with Raspberry Pi. It is a contradiction.
I'm having a hard time understanding how you came to that conclusion. However, I can say this. There are hundreds of development boards that have gone to market advertising that they "make programming more intuitive and interactive." I've had the chance to play around with a many of these platforms and, for an experienced developer like myself, most of them are quite nauseating. The majority of them rely on the block programming model presented by Scratch. Others utilize web interfaces with a similar premise. While I'm not a huge fan of Scratch's method of teaching programming, that's not what I dislike about these development boards. What I hate is that they cater to beginners, but have nothing to give back to more advanced developers. Never in my 4 years of experience collecting and experimenting with development boards have I come across one that is beginner friendly, yet at the same time, can still be a tool to those who are more experienced. That is what I'm trying to fix.
embryo wrote:Here I see another contradiction. If the goal of the software is to manage some hardware then the need for OS is very questionable. What is the advantage of having an OS (that will take a lot of controller's resources)? What is value the OS can deliver for the target auditory?
The operating system opens up a whole new realm of possibilities, not only to advanced developers, but to beginners as well. Multitasking is one of them.
embryo wrote:A month or so is a really small term to pay attention to. And if we consider that a developer should perform just some very restricted programming efforts, governed only by your goals, then such efforts should be paid in full without any period of waiting for a market success. Just because it's a dumb work, a month of satisfying of alien needs. Or your goals should be the developer's goals, but it is hard to achieve.
You misunderstand what kind of people I'm trying to attract. I am not asking people to come and fulfill my goals for me. Rather, I'm asking people who love what they do to come and join a cause - not for money, but because it's what they believe in. Market success would simply be icing on top of the cake that is the sense of accomplishment generated by seeing software that you've written help people unearth their creativity and use it to do incredible things.
embryo wrote:And this is important to understand - the best product possible needs the best time possible. It means - a lot of time. So, you are doomed to compromise this goal (unless you are a billionaire).
I'm willing to compromise anything. It's just important to set goals so that you don't find yourself losing sight of what it is you want to accomplish.
gerryg400
Member
Member
Posts: 1801
Joined: Thu Mar 25, 2010 11:26 pm
Location: Melbourne, Australia

Re: I'm looking to recruit developers for a startup company.

Post by gerryg400 »

SonyQrio wrote:It utilizes an ARM SoC which is build upon the classic ARM7TDMI architecture.
Isn't that an older ARM architecture ? Wouldn't a more modern ARMv7 based chip provide a better target ?
If a trainstation is where trains stop, what is a workstation ?
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

gerryg400 wrote:Isn't that an older ARM architecture ? Wouldn't a more modern ARMv7 based chip provide a better target ?
Yes, it's older. I'm using it because it's one of the most straightforward ARM architectures with the simplest instruction set. The SoC I'm using has a minimal set of peripherals that make it ideal for its application.
embryo

Re: I'm looking to recruit developers for a startup company.

Post by embryo »

SonyQrio wrote:
embryo wrote:It is expected, that a target auditory should be able to write programs and even understand an OS environment behind the proposed software as is the case with Raspberry Pi. It is a contradiction.
I'm having a hard time understanding how you came to that conclusion.
May be my message was not very clear. Here are your words:
SonyQrio wrote:In order to get started with the platform, it is mandatory that the user either have had experience programming or be willing to learn how to program. What I've observed is that this can be discouraging to many and cause them to give up hope of ever completing their projects
They mean there should be no requirement such as a new user should be a programmer. But next you write thoughts about position of your system somewhere between the Pi and Arduino. Both mentioned systems have the same requirement - the user should be a programmer.

But you have the answer:
SonyQrio wrote:What I hate is that they cater to beginners, but have nothing to give back to more advanced developers. Never in my 4 years of experience collecting and experimenting with development boards have I come across one that is beginner friendly, yet at the same time, can still be a tool to those who are more experienced. That is what I'm trying to fix.
As I understand you are trying to create a system, that is beginner friendly and has some means of direct access to the system internals for senior developers. It's interesting. But I wonder why there are still no such systems? You have mentioned Scratch-like approach and (forgive me my ignorance here) I wonder again - are all such systems deny assembly level programming to the users? It seems relatively simple - just to provide assembly compiler. Why this is not done yet? And if it's done then your system is not different. And the difference is important for the success.
SonyQrio wrote:The operating system opens up a whole new realm of possibilities, not only to advanced developers, but to beginners as well. Multitasking is one of them.
As far as I know in the controller world multitasking is implemented using tight loop with condition checking. It's very simple and requires no OS, just one function with jumps. Such approach constrains the developer so that it is important to write short processing procedures, but most often the processing is very simple - just read IO register and check it's value, then perform very simple calculations and return or return immediately. The advantage of such approach is the minimal resource requirements of such algorithm. But may be it's just dumb beginner's doubts.
SonyQrio wrote:You misunderstand what kind of people I'm trying to attract. I am not asking people to come and fulfill my goals for me. Rather, I'm asking people who love what they do to come and join a cause - not for money, but because it's what they believe in. Market success would simply be icing on top of the cake that is the sense of accomplishment generated by seeing software that you've written help people unearth their creativity and use it to do incredible things.
It sounds nice, but there is a lot of fuzziness when a developer will try to count benefits. The OS funs are writing their systems and if they want to use a controller like Arduino - they just use the Arduino. In fact you are trying to invite people in something like an open source project without any guaranties. It's not easy to start an open source project.
georgemorgan
Posts: 20
Joined: Mon May 23, 2011 7:41 pm

Re: I'm looking to recruit developers for a startup company.

Post by georgemorgan »

embryo wrote:They mean there should be no requirement such as a new user should be a programmer. But next you write thoughts about position of your system somewhere between the Pi and Arduino. Both mentioned systems have the same requirement - the user should be a programmer.
In context, when I said "In order to get started with the platform, it is mandatory that the user either have had experience programming or be willing to learn how to program," I was talking about the Arduino - not my own platform.
embryo wrote:As I understand you are trying to create a system, that is beginner friendly and has some means of direct access to the system internals for senior developers. It's interesting. But I wonder why there are still no such systems? You have mentioned Scratch-like approach and (forgive me my ignorance here) I wonder again - are all such systems deny assembly level programming to the users? It seems relatively simple - just to provide assembly compiler. Why this is not done yet? And if it's done then your system is not different. And the difference is important for the success.
None of them 'deny' assembly level programming. It's possible to program any microcontroller with custom firmware if you have the knowhow to do so. What I was trying to say is that there aren't any platforms out there that cater to a broader spectrum of experiences. Microcontroller platforms are either geared towards beginners, as is the case with the Scratch-like platforms. Or, they're geared towards experts - e.g. The Beagleboard xM. The Scratch-like platforms don't integrate tools that would be useful to more advanced users. More advanced users can use the hardware if they want to, but that involves trashing the Scratch-like IDE and using something else. At the same time, out of the box, the Beagleboard can't even be powered on without knowledge of serial interfaces, a moderate understanding of the batch or bash command line, or how to format an SD card with the correct partition scheme to install an operating system like linux. There simply isn't a platform that, out of the box, can be used by beginners - while at the same time can be a real tool and asset to experts.
embryo wrote:As far as I know in the controller world multitasking is implemented using tight loop with condition checking. It's very simple and requires no OS, just one function with jumps. Such approach constrains the developer so that it is important to write short processing procedures, but most often the processing is very simple - just read IO register and check it's value, then perform very simple calculations and return or return immediately. The advantage of such approach is the minimal resource requirements of such algorithm. But may be it's just dumb beginner's doubts.
It doesn't matter what you call it. It can be an operating system, it can be firmware, it can be an application if you want it to be. The point is that it's barebones code that's running on raw hardware designed to facilitate the execution of higher level programs. It seems easier to me just to call it an operating system.
embryo wrote:It sounds nice, but there is a lot of fuzziness when a developer will try to count benefits. The OS funs are writing their systems and if they want to use a controller like Arduino - they just use the Arduino. In fact you are trying to invite people in something like an open source project without any guaranties. It's not easy to start an open source project.
I'm not trying to start an open source project. This is a startup with real stakes, a real audience, a real goal, and money involved. If you don't think that you'd be interested in joining this kind of a project, that's totally understandable and I respect that. But you never know, there may be someone who would be. I'm just trying to do my best to figure out if there are.
embryo

Re: I'm looking to recruit developers for a startup company.

Post by embryo »

SonyQrio wrote:The Scratch-like platforms don't integrate tools that would be useful to more advanced users. More advanced users can use the hardware if they want to, but that involves trashing the Scratch-like IDE and using something else.
Thanks, this is a clear distinction I was expecting for.

But one more point is bothering me - is it enough to write just IDE with low and high level code support? It seems that it's perfectly enough. Why then you think a new hardware will be of any use?
SonyQrio wrote:It doesn't matter what you call it. It can be an operating system, it can be firmware, it can be an application if you want it to be. The point is that it's barebones code that's running on raw hardware designed to facilitate the execution of higher level programs. It seems easier to me just to call it an operating system.
Operating system delivers a relatively well defined set of services to the user programs. The services include memory management, process management, device management, some overall system management including bootstrapping, means of user friendly (i.e. UI) resource management, resource enumeration, services like timers, ACPI and so on.

Of course it is possible to call any firmware an "OS", but then why we still call the BIOS with it's original name?

I think an OS (real OS, with all services from above) can be useful in the microcontroller world in case of complex systems, when one microcontroller manages many devices at the same time. For example a multicopter controller can manage N motor controllers, a set of sensors, a small LED display, a simple keyboard with a few buttons, monitor battery health, enable remote control and logging with the help of some radio device and so on. Then user programs can forget about anything else, except their primary goal (like remote control protocol implementation, for example).

And I hope such separation of things into smallest possible components can help you to find answers for many questions.
SonyQrio wrote:If you don't think that you'd be interested in joining this kind of a project, that's totally understandable and I respect that.
I'm really interested in buying something simple but yet powerful from the microcontroller world. It's not a near time goal, but I plan to try to manage some devices sometime in the future (and multicopter is one of such things).
SonyQrio wrote:But you never know, there may be someone who would be. I'm just trying to do my best to figure out if there are.
In my view it is all about the IDE. May be it is better idea to look for developers of IDE? If you plan to finish your OS in a month, then the only thing which worth attention is the IDE. And IDE requires a bit different approach than osdeving.
Post Reply