IdeaStorm can help take your idea and turn it into reality.
Over 18,896 ideas submitted. 740,908+ votes. 97,832+ comments. 531+ ideas implemented.
There are two different dimensions to this discussion, which I think it's important to separate. One is how well a computer works with an open-source operating system (such as Linux). The other is how well a machine can be customised for developers.
I think most people would agree that the most important dimension is the first one. If a machine works with open-source operating systems, developers can then customise everything else as needed (including using Windows, if desired). It doesn't make sense to try to create one hardware platform for all developers. Perhaps even more than any other group, developers tend to have very specific and widely varying needs and preferences regarding hardware. A more useful approach would be to ensure that a wide range of computers (if not all of them) use only open-source-friendly hardware. Developers can then choose the hardware they want, without worrying about Linux compatibility. Developers should be able to exploit the price versus performance tradeoff just like everyone else.
The key is choosing open-source-friendly hardware. That is all the open-source community really needs from an OEM. Use hardware for which fully functional and well-tested open-source drivers are available (or, at the very least, use hardware for which full specifications, which would allow open-source drivers to be developed, are available). And it's important to note that this hardware will work just as well under Windows, so there's essentially nothing to lose.
It should be noted that during the last year or two Dell has been forcing customers to buy machines with hybrid graphics cards, as well as ALPS touchpads with proprietary specifications -- two instances of non-Linux-friendly hardware. These choices have frustrated a lot of Linux users. At the very least such hardware should be optional, if not avoided altogether.
Most developers will install their preferred operating system and customise it the way they want, so the pre-installed software doesn't really matter (except for good BIOS, of course). That being said, it would be nice to be able to purchase a laptop with no operating system, or with a standard distribution of Linux installed (any one will do) -- assuming, of course, that this would be cheaper than the Windows alternative.
Regarding support, the most important thing for developers is good support for hardware issues and repairs. On-site and mail-in repairs need to be fast, reliable, and easily accessible. Having support plans which only cover hardware, and are correspondingly cheaper, would probably be appreciated by a lot of developers as well.
Here are my hardware suggestions, which probably apply to many groups, not just developers.
-Hardware:
-General
-Matte body (to avoid fingerprints)
-Minimum 4GB ECC RAM
-Minimum i5 processor
-Minimum 256GB solid-state hard-drive
-Good quality webcam
-Good speakers
-Optional optical drive (BlueRay RD/WR)
-Optional extra hard-drive
-Optional extra battery
-Screen
-Matte screen (to avoid fingerprints and reflections)
-High resolution (1920 horizontal)
-Options for all common screen sizes (13, 15, 17)
-Graphics
-Fully functional and well-tested open-source drivers
-Good quality nVidia cards are ideal
-Option for standard embedded intel cards
-No hybrid graphics
-Keyboard
-US layout option always available
-Matte finish, grime-proof, and easy to clean
-Option for spill-proof keyboard/touchpad/power would be nice
-As close to a full normal keyboard layout as possible
-Touchpad
-Fully functional and well-tested open-source drivers
-Good quality large touchpad
-Support for enabling and disabling tap-to-click, scrolling, etc.
-Two clickable buttons on the bottom as usual
-Wireless
-Fully functional and well-tested open-source drivers for all components
-WIFI 802.11a/b/g/n with good quality and reliability
-Bluetooth with good quality and reliability
-Option for mobile networks would be nice (any carrier, any country)
-Dedicated two-position hardware buttons (no toggle) for each wireless component
-Ports
-1 GB ethernet
-Minimum 4 USB 3.0 ports
-All the common card slots (SD, MicroSD, etc. -- so no adapters needed)
-Headphone, microphone, and headhphone/microphone combo mini plugs
-Video out (D-sub, S-video, and HDMI, maybe even DVI -- so no adapters needed)
-Power and ethernet plugs on back
-Video and audio plugs on (same) side
-BIOS
-Bootable from hard-drive, USB, CD, and network
-Standard open-source friendly approaches to standard functionality
-Brightness
-Multimedia events (volume, play/pause, etc.)
-Display selection
-Suspend/hibernate
-Lid closing and opening
-Disable touchpad
-Dedicated two-position hardware buttons (no toggle) for each wireless component
-Make sure you can hit multimedia buttons with one hand (not left-fn and F12)
Please login to IdeaStorm to post a comment.
Jun 16, 2012 Comment Link
Report Abuse
Posted By: x414e54
1920x1200 resolution is a minimum for me. I had this on a laptop 8 years ago and noone has supplied this or a higher resolution since. Since most of my time is coding, I really need the long resolution.Make sure the keyboard is based off a proper unix style, so no windows key (use a diamond instead) and place the control key where caps lock should be.
No nVidia and no Intel, please use amd processors and GPU. Also coreboot support is a must.
Would be great to have an NFC or ISO14443 card reader built in.
Ram should be 8GB minimum these days for developers.
Please include a removable/swappable DVD or bluray writer drive of some kind, sometimes I need to backup things to these for reliability.
Jun 5, 2012 Comment Link
Report Abuse
Posted By: scalpel4k
for embedded developers an RS232 port would also be nice, USB-RS232 doesn't always work outfor joint development sessions I'd like decent camera and microphone
writing code means lots of lines of related information, so vertical screen space is absolutely vital (1200++)
May 14, 2012 Comment Link
Report Abuse
Posted By: thesheep
A very good commentary on the drivers and hardware support, but I don't agree about the hardware listing. I know this is very specific for me, but:-
I don't have any use for a high-end 3d-accelerated graphics card. I would much prefer to have a stable, well-supported card with good power efficiency.
-
No need for the ram to be ECC.
-
I have no use for a CD drive (dvd, blueray or anything else). Those who need it can just connect one through the USB.
-
No need for good speakers, but it would be nice to have good quality audio chip -- I use headphones or external speakers anyways.
-
I see no point in 1920xFOO resolution for a 13 inch screen...
-
Personally I have no need for bluetooth.
-
No need for SD card slots -- USB adapters are fine.
-
S-video -- who ever uses that?
There is also a number of other things that are often included, but are completely unnecessary:May 11, 2012 Comment Link
Report Abuse
Posted By: TuxRaiderPen
Excellent comments and ideas on the hardware, especially wasting it on those inane hybird video systems. nVidia only please.A few areas, SSD is fine, as long as its an OPTION. I want a nice 1-2TB 2.5" HD.
RAM minimum is 8GB, 24-32GB would be much better. 4GB is not going to cut it.
Optical drives, are not optional, they need to be standard, if you want to make it like the old ThinkPad DriveBay where you can slide differing units in and out, use it for an extra battery, I am all for that, but a DVD-DL/RW/RAM Lightscribe drive is a must.
On the CPU side, AMD please. I don't care for intel anything, CPU or video. Dual or Quad core.
Other than these few points, EXCELLENT list.