Complete and Beyond Noob Programmer Embarking on a journey to create a new smartphone - General Questions and Answers

Wow - that's a mouthful, eh?
Hi, I'm an Electrical Engineering Student going into my third year of Engineering. After taking my first Digital Processing class I fell in love with hardware and software. My friend who's a mechanical engineering student in the same year and I created a company and by using community fundraising, we've finally made enough money to start thinking of actually embarking on a large enough quest. Here's the thing - you've probably understood where I'm going with this so without further ado - We want to create a smartphone. We are a team of around 7 engineering and computer science students wanting to create an android smartphone who have not the slightest clue on where to start.
There is a whole slew of things I could be looking for from you guys and I'd greatly appreciate if you all could help me out. I have only once owned an Android device and it was running Android 4.0 when I had it - ever since then I had switched to iPhone (not because it was superior but rather because it was the more financially viable option since I was a software developer and making apps on the App Store generally generated more revenue than apps on the Play Store) therefore I am very VERY noob in terms of Android OS. That being said, here's a short list I came up with of things I think I may need but feel free to add suggestions if you choose to do so.
Information on the Android OS
Information on ROM creation
Information on picking parts
Information on manufacturing opportunities (i.e. factories that will custom produce a prototype or two for you)
Information on creating a Stock ROM for your device lineup
Information on finding the most absolutely stock version of Android (does that exist?)
Information on perhaps other projects in the same ideaspace
Information on how smaller companies such as OnePlus or Essential started to create their phones.
Information on languages I should know (I already know a lot of languages but perhaps there's something more lower level than I need to know?)
Overall, thanks for reading this post and I hope to see replies soon!
Best Regards!

RoyalKingMomo said:
Wow - that's a mouthful, eh?
Hi, I'm an Electrical Engineering Student going into my third year of Engineering. After taking my first Digital Processing class I fell in love with hardware and software. My friend who's a mechanical engineering student in the same year and I created a company and by using community fundraising, we've finally made enough money to start thinking of actually embarking on a large enough quest. Here's the thing - you've probably understood where I'm going with this so without further ado - We want to create a smartphone. We are a team of around 7 engineering and computer science students wanting to create an android smartphone who have not the slightest clue on where to start.
There is a whole slew of things I could be looking for from you guys and I'd greatly appreciate if you all could help me out. I have only once owned an Android device and it was running Android 4.0 when I had it - ever since then I had switched to iPhone (not because it was superior but rather because it was the more financially viable option since I was a software developer and making apps on the App Store generally generated more revenue than apps on the Play Store) therefore I am very VERY noob in terms of Android OS. That being said, here's a short list I came up with of things I think I may need but feel free to add suggestions if you choose to do so.
Information on the Android OS
Information on ROM creation
Information on picking parts
Information on manufacturing opportunities (i.e. factories that will custom produce a prototype or two for you)
Information on creating a Stock ROM for your device lineup
Information on finding the most absolutely stock version of Android (does that exist?)
Information on perhaps other projects in the same ideaspace
Information on how smaller companies such as OnePlus or Essential started to create their phones.
Information on languages I should know (I already know a lot of languages but perhaps there's something more lower level than I need to know?)
Overall, thanks for reading this post and I hope to see replies soon!
Best Regards!
Click to expand...
Click to collapse
You need to start with exactly which hardware components you will put in the device. That is what will decide everything about how the software should be built.
As for figuring out hardware and design, you won't get much help here with that.
The majority of this community is everyday users, the rest are software developers and most of them are self taught non professionals. We deal with custom software development here. This forum won't do you any good until you have a working hardware design.
Sent from my SM-S903VL using Tapatalk

Related

[Q] What do I need to know if I was going to work for a company like Google?

My dream is to open up my own company and design my own mobile os and to make smart phones. Working for Google like designing things would be cool too. I am heading off to college this fall and I need some help picking a major. What major would I need to go into to do things like this. Please help me. Also i have a term paper and I have to write how to achieve my dream job, so if you can answer quick that would help thanks in advance! btw I signed up for electrical engineering - is that good?
Firstly, ud need to know the name of the company
Google is the company, android is their mobile os flagship.
I don't think electrical engineering will help much as a major, but having an understanding of that stuff will help. But definitely look into computer science, software engineering, and pretty much anything computer related, especially things like systems engineering, and for phone development, you will DEFINITELY want to look into anything involving embedded systems.
You will need experience programming software and firmware, so programming courses are a must, so take as many of those as you can.
The most important thing you can do, though, is find books and resources for yourself and teach yourself as much as possible outside of school. A lot of courses revolve around a specific subset of material and may not discuss the topics that interest you. That, of course, will depend on your school's curriculum requirements and the professor teaching the class.
Whatever you do, though, make sure it is enjoyable to you and that you aren't just settling for something easy or convenient.
From a tech vet at Google:
http://dondodge.typepad.com/the_nex...oogle-interview-questions-hiring-process.html

[Q] Need Your Input

ViewSonic is putting together a developers' site for all our Android products, and would love your input as to key items to include. Obviously we may not be able to include everything, but want to create something you'll find useful and valuable.
Please post your wishes here!
Thanks,
-Adam
1. HDMI out.....not through a dock
2. IPS or better screen
3. 1GB + Ram
4. 16GB + internal sdcard
5. USB ports
6. Mini and micro sdcard support
7. Released source
8. 3G/4G option
9. Optional ssd
10. GPS option
11. Bluetooth
12. WIFI of course
13. Support updating operating system for at least 2 years instead of "release and forget.....*cough* sam *cough* sung"
14. Leave the bootloader unlocked for the crazies like me that want to hack no matter the consequences. If I brick I'll eat it.
15. Keep up the good customer service you currently have
16. Quit making promises about flash when you don't have control over Adobe lol
OH yeah......Can I have my Honeycreams please!!!!!!!!!!!!!!
EDIT: BTW....I am retired and would make a perfect person to test new products for you. Hint Hint
thebadfrog said:
1. HDMI out.....not through a dock
2. IPS or better screen
3. 1GB + Ram
4. 16GB + internal sdcard
5. USB ports
6. Mini and micro sdcard support
7. Released source
8. 3G/4G option
9. Optional ssd
10. GPS option
11. Bluetooth
12. WIFI of course
13. Support updating operating system for at least 2 years instead of "release and forget.....*cough* sam *cough* sung"
14. Leave the bootloader unlocked for the crazies like me that want to hack no matter the consequences. If I brick I'll eat it.
15. Keep up the good customer service you currently have
16. Quit making promises about flash when you don't have control over Adobe lol
OH yeah......Can I have my Honeycreams please!!!!!!!!!!!!!!
Click to expand...
Click to collapse
+1
I think that pretty much covers it, especially the part about honeycreams.
edit: it would be great if viewsonic devs put together a recovery package suited for the gtab since the only version of cwm that seems to work on this device is bekits modified version v.08
OfficialViewSonic said:
ViewSonic is putting together a developers' site for all our Android products, and would love your input as to key items to include.
Click to expand...
Click to collapse
It sounds like VS is asking for suggestions about what to include in the developer's site - that is, what information would be useful for developers creating apps to run on the GTablet and other VS Android tablets...as opposed to a wish list of features for the devices themselves.
Twitter feed answered by an engineer/development team member.
If you want to go hardcore.
Provide things like git hosting to selected xda developers.
Create some sort of cloud based compiling system and provide that to the developers as well.
Wait...you wanted suggestions for a web site. Look at this forum and add very strong mods to keep the clutter down. If your "official" site is not gonna allow the fun things we like to do to our tabs it probably won't gather much attention. However just keeping your online manuals and source files updated would be great. Allowing a private area for people to test UATs instead of them leaking into XDA would be kinda nice as well. I understand for legal reasons you couldn't have certain topics but it would be nice if just 1 provider of tabs would at least acknowledge the benefits of having the devs do their magic.
I was aware of what he wanted....just thought I would get my dream machine out there
It does seem like there could be a model out there for a vendor to create some sort of NDA protected developers program for early adoption.
Not releasing any files prior to official launch, but acknowledging that at launch those files will be stripped from another device. For example if company X has a legacy product Y1 and in the fall Y2 is coming out with a newer OS that could potentially be applied to Y1 then instead of waiting for Y2 to come out and people break their Y1's trying poor approaches to modification (and damaging your brand in thier eyes) you provide a group of developers lead time access without permission to release until say 3 months after Y2 comes out. This is double edged that it protects your competitive market strategy of Y2 while respecting the investment Y1 customers have made and recognizing the expectations of the users of the overall operating system you have choosen to utilize.
Had to read it twice but ^^^^^^^^^^^^what he said. There are several people here that would love this kind of opportunity. (This guy included)
Hi,
I'm not one of the devs here, but, from working w the Gtab, some of the things that would be useful would be:
- info on the BCT and partitions. There's some generic info around the web, but it seems like mostly reverse-engineered, read: guesses.
- source for bootloader and recovery (these may be proprietary, but maybe release under NDA?)
JMHO...
Jim
Adam
What would the company like to get out of starting such a project? That would dictate what should be included from a logical standpoint.
If only for research and testing then that would be something totally different especially for the folks here that know how to play with code? I would just guess if given the right information, tools and a place to share and explore the android system with support from your company , it would be taken to a level that the average user of mobile devices right now couldn't even imagine.
Android will in all likely become the system of choice surpassing the mighty Redmond and great apple.
I step back from my soapbox and blend back into lurking mode
Thanks,for responding to our calls and emails "for action and after purchase support." I bought from a retailer who was not allowing returns nor refunds, however, I did get a service plan. After working with it, I would not return it. Thanks to the incredible hardware and developer support from this site.
-Add direct movie streaming capability like from Netflix
-Easy beaming to other devices
-Easy tethering
-VPN
-Firewall or data encryption
-Public network privacy protection
-Standard auto attachment slot for GPS, music streaming, etc. making it interchangeable (I have an auto Navi/GPS (plus usb & bluetooth) about the size of this panel--thinking future forward--truly wishful thinking).
-Smart reader for scanning business cards, docs, etc. into it
-3G, 4G plus talk, fax modem capability
-Task Switcher or Manager
All I can think of now, will add more in case I forgot something.
Not a dev myself, but if this project was able to give us consumers some of my below suggestions, im sure many of us would be very happy and willing to continue to purchase VS products.
1) Real working market (I realise this is dependant on VS sorting things out with Google).
2) Required lib / drivers to use USB GPS and USB 3G.
3) For times when compatibility of software can be a task issue, the option to be able to dual boot to say WINCE. So basically WINCE support. This is for those like myself who cannot use our work related networks due to the limited proxy configurations support that Android currently has.
1: forum for known bugs list in current factory rom
2: forum for workarounds and non warranty breaking fixes for forrum #1
3: link to xda, with the caviot that using instructions from the sight could break warenty/brick/Bork the gtablet, for those who are fearless. (I have have purchased viewsonic monitors for my whole computing career, you could use an image boost. I love your brand so I think spending money reping android would bring a lot of life back to you. )
4:full software disclosure. At this point its all about power, ui, and price. You have the power and the price... recognize that 98% of your tab sails are to people who take your ui and toss it without a second thought. Not being mean, just honest.
USB
I would like to see is better support for USB drives. I would like to be able to use all my hard drives and thumb drives. Thumb drives work now but some times I plug them in and they are not recognized, forcing me to reboot.
For that matter move drivers for USB devices in general.
notsob2002 said:
Adam
What would the company like to get out of starting such a project? That would dictate what should be included from a logical standpoint.
If only for research and testing then that would be something totally different especially for the folks here that know how to play with code? I would just guess if given the right information, tools and a place to share and explore the android system with support from your company , it would be taken to a level that the average user of mobile devices right now couldn't even imagine.
Android will in all likely become the system of choice surpassing the mighty Redmond and great apple.
I step back from my soapbox and blend back into lurking mode
Click to expand...
Click to collapse
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
OfficialViewSonic said:
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
Click to expand...
Click to collapse
It's kind of funny that here you are asking for dev input and not a single one of our wonderful devs (you know who you are) have posted a response. I assume they are doing their communicating behind the scenes with you but that is purely a hunch on my part.
Anyway, I LOVE my gTab running VEGAn beta 5.1.1 but fully support your interest in helping our cookers so they can make your product as well as their product better.
sjmoreno said:
It's kind of funny that here you are asking for dev input and not a single one of our wonderful devs (you know who you are) have posted a response. I assume they are doing their communicating behind the scenes with you but that is purely a hunch on my part.
Anyway, I LOVE my gTab running VEGAn beta 5.1.1 but fully support your interest in helping our cookers so they can make your product as well as their product better.
Click to expand...
Click to collapse
I agree that the intent of the request was for what features would you like them to provide on their site, not in their products.
I think a forum, such as this, would be nice, especially if you can get the viewsonic developers to sign on to responding in a timely manner.
If you (viewsonic) are serious about reaching out to the developers, I think you have a great opportunity to make your system open and developer/modder friendly and become a leader in that category. could definitely be a great opportunity for you guys.
Oh, and perhaps a legal repository for .apks which are not available to us in the market for easy installation...
I assume VS goal is to sell tablets. You have developed a good hardware platform at a great price point. A few changes and you have a great platform. To sell more tablets you need slick firmware. The devs at XDA have accomplished that with minimal support. Full support would work wonders. Suggest ask the devs what they need, in what order and what detail. Might even give them access to your dev team. Website should have dev only section and a well updated what is going on section to elliminate the repetitive " are we there yet" questions.
If you are sincere in this offer, it should provide a great benefit to both VS and it' s users. Lookout ipad here we come.
All Android devices need work to play in the corporate environment. Security needs to beefed up, the ability to integrate with MS Exchange servers, work with proxy, vpn, and whatever other security stuff is comes out. IPV6 is a requirement too.
OfficialViewSonic said:
We are looking to provide a centralized source for all the code/content/specs/details/etc you need for our Android-based products. But rather than guess what to put there for y'all, we'd prefer to ask! ;-)
Click to expand...
Click to collapse
Well, go ahead and start the forum and post a link for us so we can start using with all the information that you have and can release and make adjustments as needed. You never know what will happen it may be more helpful to people than they may think and if nothing else it would be beneficial to people who just bought one of your products and don't understand the product and its capabilities.
Thanks for having the forethought to ask because most companies probably wouldn't even think of trying to get independent development for their product from outside of their sales or IT department! Thinking like that might actually make you the leader in a soon to be crowed market

[Q] Ubuntu or Android for a 3rd world tablet-based education project?

Hi all
MY QUESTION
How much work is it to get Ubuntu working on a cheap tablet, (in terms of weeks and stress/reliability)? I'm about to spend a year writing tablet software that needs cheap hardware. If I find a capable Android tablet going cheap, is it reasonable to consider getting Ubuntu working on it, instead of restricting myself to the Android OS to use cheap tablets? Would Ubuntu C++ apps still kill performance? (Ubuntu will save me lots of development in other ways.)
ALL comments pleease, however brief and knee-jerk.
BACKGROUND (all feedback gratefully received)
I'm at the design stage of a project to use tablets to improve education in poor countries. Extremely briefly, the tablets will use elements of social media to enable children to collaborate remotely and asynchronously on projects, and game aspects to get the kids excited, who have probably spent the day working on the fields, and to welcome kids with special needs. The system will enable education to continue in complex emergencies, such as droughts and conflicts. Currently most kids drop out after grade one as the education they're offered is so poor. Tablets can support teachers and enable kids to get more out of their classroom and homework time.
The system needs some clever back-end engineering to operate a local social network if there is no internet connection. (I'm thinking something like NodeJS acting as both a p2p client and a server.) It also needs to run on cheap devices, if it is to be adopted by third world Ministries of Education.
I am currently torn between Android and Ubuntu for tablets. Android will presumably be the cheapest platform for the foreseeable future - tablets now go for as little as $40 wholesale. However Ubuntu for tablets now offers the ability to bring a proper IT education to these children, as they can learn office software, desktop OS, etc. Ubuntu also provides source code I can customize, eg, GCompris, Tux4kids, KDE and Epoptes. I can see Ubuntu on other tablets here, but it seems the Nexus 7 is the cheapest tablet I can currently get Ubuntu on and performance is still an issue. Is that fair to say?
I can write everything using C++ and OpenGL to squeeze as much as possible out of every processor cycle. I have been a developer for 15 years, but am pretty ignorant when it comes to hardware/OS level.
My alternative is using something like Titanium and Unity, (I don't think HTML5 will perform well enough), so I have a bit more platform flexibility, at the price of having to develop everything from scratch, and using technologies for the back-end stuff that aren't as ideal, (such as Android Java and/or Titanium JS). But perhaps that keeps more options open for me?
My feeling is I should go for Ubuntu, but the price needs to reliably reach considerably below $100 to become a nationwide system in a poor country.
Obviously any comments or thoughts on any aspect very gratefully received. Don't restrict your comments to my question - I want all your wisdom!
Huge thanks for reading all this and any contributions
Chris
Re-post
perhaps you would get more of a response if you made this a bit shorter, and re-posted on ubuntu.stackexchange.com, android.stackexchange.com, and programmers.stackexchange.com
Also, perhaps a little off topic, but have you considered using coffeescript? :cyclops:
Thought it might be a stackoverflow question, this forum is amazing for tablet OS dev though. As ever I blather on too much...people have complained in the past.
All three? Wouldn't that be bad netiquette?
That's kind of a tricky question because technology is always evolving and prices fluctuate so much that in a year you might be able to get a device for half the price. I'm not knowledgeable about the new Ubuntu options but if your gut says go Ubuntu, than do it.
Thanks, I'd love to say gut instinct served me well, and I'm all for intuition, but I wouldn't trust it enough to dedicate 6 months of development on its hunch. However these replies and the act of writing the question has crystallized my view a little so I now have more targeted questions.
found this excellent guide on the hassles of porting an OS to a new device...
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Porting-Android-to-a-new-device/
and this
http://stackoverflow.com/questions/...droid-kernel-porting-from-one-device-to-other
So looks like a month, best case, with expert developers and a device well-known for being hackable. So to port ubuntu to a $40 device, I'm thinking three+ months, plenty of risk, and much pain.
Some other interesting posts:
A little gritty detail on porting kernels: http://stackoverflow.com/questions/...droid-kernel-porting-from-one-device-to-other
A tutorial on building (compiling, not developing) a kernel: http://forum.xda-developers.com/showthread.php?t=2110842
The best post I found on porting ROMS: http://forum.xda-developers.com/showthread.php?t=1941239
Porting modules from within kernels: http://forum.xda-developers.com/showthread.php?t=1751966
Porting cyogenmod, (a ROM, not a Mod, as anyone on this forum probably knows): http://forum.cyanogenmod.org/topic/15492-general-cyanogenmod-porting-discussion/
A new kernel developer: http://forum.xda-developers.com/showthread.php?t=2173411
A vocab for noobs like me: http://www.talkandroid.com/guides/beginner/android-rom-and-rooting-dictionary-for-beginners/
I was wrong. Ubuntu Touch is based on the CyanogenMod kernel, which is widely ported.
From Canonical's FAQ on the bits of CyanogenMod used: "The kernel and a few low level drivers for network, video, audio and some other hardware features are taken, all the higher level parts have been taken out. On top of this the whole Ubuntu is started in an chroot environment." ( https://wiki.ubuntu.com/Touch/FAQ#How_is_Ubuntu_Touch_connected_to_Android.3F)
As a result it has already been ported to about 40 devices, and porting to a further 30 is work in progress, listed here: https://wiki.ubuntu.com/Touch/Devices
CyanogenMod officially supports 172 devices, and unofficially supports another 59.
Officially supported devices: http://wiki.cyanogenmod.org/w/Devices
Unofficially supported devices: http://wiki.cyanogenmod.org/w/Unofficial_Ports

[Q] Research Survey: App Developers and App Company Managers Needed To Share Opinion

[Q] Research Survey: App Developers and App Company Managers needed to share opinion
Hi,
Currently, i am conducting my Master thesis research at the University of Technology Eindhoven about quality analysis services of mobile apps. According to literature it appears that the quality of apps is often based on user experience and functionality of apps. Only very basic and few research has been done about technical quality of apps and it is mainly unclear how app developers and app owners (i.e. managers of app companies or individual developer of their own app) think about the technical quality.
Therefore, i am looking for app developers and app owners to help me by taking a 5 - 10 minute survey. For every completed survey I will donate a euro to a charity of your own choice.
The survey is anonymous and only used for academic purposes. All data will be removed after finalizing the project.
The survey is available at survey.sogosurvey. com/k/RQsUYPUSsQsPsPsP (please remove space)
I appreciate your help in this and hope that you take the survey as all app developers and owners opinions count.
Thank you.
Mike Loeffen
Graduating student at University of Technology Eindhoven
P.S. unfortunately, I noticed too late that the survey tool does not provide an optimal format for smartphones, so I recommend to use a computer or tablet.
I hope this will not be a reason to decide not taking the survey.
Hmmm,...
I would have selected "Keep the Euro" but there was no such option, so MSF...
Then I saw this:
6) Price: How much you are willing to pay per month in dollars. The price can be:
Click to expand...
Click to collapse
and the next few pages had money questions.
So I felt I was filling out a marketing survey, and I aborted and posted this.
Please feel free to explain.
mikereidis said:
Hmmm,...
I would have selected "Keep the Euro" but there was no such option, so MSF...
Then I saw this:
and the next few pages had money questions.
So I felt I was filling out a marketing survey, and I aborted and posted this.
Please feel free to explain.
Click to expand...
Click to collapse
Thanks for you comment.
To answer your first comment, I chose to make that particular question about charities not mandatory. So, if you did not want to let me donate, you could keep that question open. But I wanted to do something in return for every participation, and as a student I don't have many resources. Therefore, the decision to donate something.
You have a good point with your second comment. As I explained on the first page is that I study Innovation Management at a Technical University. This study combines the technical aspect, like IT business, with economy aspects, like marketing, sales, and management. The goal of my research for my Master thesis is to analyze if technical quality (i.e. the quality of the source code) of apps is just as important as the technical quality of large software systems and to analyze what opinions app developers and app owners have regarding the technical quality.
In my research I use the so-called conjoint analysis, which is indeed an analysis method often used in marketing scenarios, but additionally it is also a very good method to analyze different perspections of a product or service which is what I try to do in my research. Price is often excluded because it could influence the perception of respondents (and appears so now). But I chose to include it, because I assume that a technical quality analysis could always be useful in different ways (help developers in a good direction or decrease costs. This is already proved for computer and enterprise software, but it has a gap in literature in the case of mobile app software). Therefore, I try to analyze how important and how interesting app developers and owners find the technical quality by including different price levels. If someone chooses a higher price for better services, I assume that a technical quality analysis might indeed provide value from the perception of developers and owners.
Overall, it is an academic research about consumer behavior and perceptions about a relative new service (therefore the link to Innovation Management) because very few research is done about software quality of apps from a developers or owners perspective. That's why marketing aspects are included too. In the end, academic researches will always be public accessible, and I try to close some of the gap of the technical quality services about the software of apps. I cannot close the whole gap because due to the fact I am no software developer I can not include all aspects unfortunately, so in this case mainly 'human technology interaction' aspects).
I hope this will make myself and my survey more clear. If you have still some questions, feel free to ask them.
Thank you for your comment and I appreciate it if you are still willing to participate
mtclo said:
Overall, it is an academic research about consumer behavior and perceptions about a relative new service (therefore the link to Innovation Management) because very few research is done about software quality of apps from a developers or owners perspective.
...
I am no software developer
...
Click to expand...
Click to collapse
If you want to learn what software development is REALLY like, this is THE BEST site I have ever seen: http://www.joelonsoftware.com/
IMO there are no effective methods of objectively evaluating software quality and I think this is a widely held opinion by those with SW dev experience*. Many attempts have been made, with bug tracking systems for example, and pretty much all have failed to objectively evaluate quality. Very good QA people can find many more bugs than average QA people. QA team size matters. Defining a single bug precisely is difficult.
(*At least in the common real world. Things may be somewhat different in the military and super-super reliable part of the industry that uses at least 10 times more developers for projects than the apps and other common development areas.)
Maybe the closest we could get to measuring quality would be MTBF, but even in other engineering areas, this is pretty difficult to accurately calculate, and it's value is questionable. And software is SO different than other areas. Eg. If hackers (who can make serious money finding a zero day bug) or others never find a specific bug that exists, nobody will ever know about it. OTOH, if a hard disk or bridge fails, somebody will likely know about it.
I've been doing SW dev professionally for 25 years, and personal/hobbyist for 15 years before that, dating back to becoming a teen in the mid 1970's when microprocessors were first arriving.
My education was in electronics however, and I'm a practical "get it done" dev who has never pondered sort algorithms academically.
I LOVE coming up with wonderful software designs that are elegant, minimizes bugs and easy to extend and accommodate future features. In my case, I created an Android FM App named Spirit2 that I took care in designing to have good characteristics.
OTOH, my Spirit1 FM app was never designed, it was quickly thrown together with hack after hack added for years. The code is a mess and it's now almost impossible to add a new feature without breaking existing functionality. Spirit1 served a good purpose, getting an app out quickly, but I had to solve the goal of getting a better quality app out by designing a new one: Spirit2.
IMO, a surprising amount of real code out there in the world today was, at least initially (with reverb for decades), quickly hacked together, not really designed well, or otherwise "very suboptimal". This includes large enterprise systems, monstrosities like the ObamaCare system, and the systems running our banks.
And most consumer apps are so full of bugs it's not funny. Big deal, the app crashes and needs to be restarted. Most people would never know if it's the fault of the app, the hardware or the operating system.
I'd like to think that my opinions above could be more important than just filling out a survey, especially if it makes you reconsider your ideas going into this.
Again, I'll HIGHLY recommend reading this site for an hour or 2, to you or anyone involved or interested in the REAL world of software development: http://www.joelonsoftware.com/
I have no connection with Joel, and haven't been on his site in many months at least. But I have spend at LEAST dozens of hours gleaning new insights and even entertainment there over the last 10+ years. Most of the time I end up back on his site when someone posts a link from slashdot or similar tech discussion sites.
ETA: Oh, and Joel's company does bug tracking software, so I'm sure he has well formed opinions on software quality: http://www.fogcreek.com/ Tracking (and fixing) bugs is still useful of course, even if there are no good objective quality measurements. But I'll be happy to step aside and reconsider if his opinions on that differ from mine,
mikereidis said:
If you want to learn what software development is REALLY like, this is THE BEST site I have ever seen:
Click to expand...
Click to collapse
mikereidis said:
IMO there are no effective methods of objectively evaluating software quality and I think this is a widely held opinion by those with SW dev experience*. Many attempts have been made, with bug tracking systems for example, and pretty much all have failed to objectively evaluate quality. Very good QA people can find many more bugs than average QA people. QA team size matters. Defining a single bug precisely is difficult.
Click to expand...
Click to collapse
mikereidis said:
OTOH, my Spirit1 FM app was never designed, it was quickly thrown together with hack after hack added for years. The code is a mess and it's now almost impossible to add a new feature without breaking existing functionality. Spirit1 served a good purpose, getting an app out quickly, but I had to solve the goal of getting a better quality app out by designing a new one: Spirit2.
Click to expand...
Click to collapse
mikereidis said:
And most consumer apps are so full of bugs it's not funny. Big deal, the app crashes and needs to be restarted. Most people would never know if it's the fault of the app, the hardware or the operating system.
Click to expand...
Click to collapse
Thank your for your tip. I could definitely use it for my literature review. Though, as I mentioned before, I am not capable to cover all software development aspects because I had to narrow the scope according to the guidelines of the Master thesis and according to my knowledge field (I hope this is the right description).
Furthermore, I think I had to define my definition of technical quality of software better. I am aware of the fact that the word 'quality' has a lot of meanings and definitions. In my thesis I have defined technical quality as the maintainability of the source code of software. I narrowed my scope in the research to tools that inspect code quality by reporting on duplicated codes, code complexity, code design, et cetera. Think about tools as SonarQube or VeraCode. However, these tools focus mainly on large enterprise software systems or general computer software. Therefore, my research is focused on code quality of app software for Android, iOS or Windows for mobile devices.
And finally to make my intentions of my research fully clear, is that I won't develop such a tool but I want to analyze if such tools for mobile apps would have any potential on the market and would some features like a quality label or the level of reporting detail have any influence. You already acknowledge that consumers would not be aware what causes bugs or other problems. In some cases, these problems might be caused by faults in the source code. Consumers would have no influence in that case, but app developers do. Code analyses might improve the source code or decrease costs by decreasing development time. Therefore, my target group are app developers or app owners (like managers of companies that develop apps) and I want to analyze if these people would be interested in such tools if it could, for example, improve the maintainability of an app and/or decreasing costs. Eventually, as my research results will become public and it appears that such tools might provide value to app developers and/or app owners, than it can be a motivation to develop such tools. Each individual will be free in deciding what to do with my results.
Hope it is clear now
I appreciate your additional thinking and it could indeed provide value and ideas for my research.
Hi everyone,
Hereby a reminder of the survey about the demand for mobile app quality analysis services. I hope you are willing to spend only 5 minutes of your time to help me with this research to graduate.
I have received feedback that the original survey was too vague and complicated. Therefore, I have improved the survey to make it more easy to fill in.
To access the improved version, please use the following link: survey.sogosurvey.com/k/SsUYPUSsWsPsPsP
I would appreciate it very much, if you are willing to complete this survey.
Thank you.

Phone Design Input — OS and Hardware

Hey guys, I'm not really sure where to post this, but I was looking for input from the developer community regarding the design of a new phone. I've been wanting to get started on this project for a while, and I think it's finally time to really make it happen.
Some background is that I've had a lot of different phones going back to the iPhone 3GS. After that, I've had a mix of phones from a few different companies (Apple, Samsung, Google, OnePlus, etc.), and I've always thought there were ways to improve things on both the hardware and software side of phone design (although it's a lot easier to point out these things than to actually implement them).
Now, I'm studying in China, and I'm looking into actually making a smartphone! I've been going to as many different stores as I can to look at/hold/play with lots of different phones and looking at what I like in each case vs what I think could be done better, and I thought it would be important to get community input as early as possible.
I know that I can't do this myself, and while I'm looking for people to help out formally, I'd like to run this project as a community effort as well. For the time being, I'd like to start two projects. The first would be actually getting a physical hardware design and the second would be designing what the OS would look like.
So what phones and features does everyone like? What are some must haves in a new phone and some absolute deal breakers? Are there any cool ROM's/Kernels/Features you'd like to see from a software point of view? I'm trying to figure out what package developers in specific would be looking for in a new phone. I can possibly release sketches and things as things progress, and I'd like to have the software be open source on every level (to the extent that this is legally possible).
Any comments/questions are welcome. If this is in the wrong forum section, I'd be more than happy to move it. Thanks!

Categories

Resources