Time For a Hobbyist Smartphone?
theodp writes "Over at Scripting News, Dave Winer has a hobbyist phone on his wish list. Innovative phone manufacturers, Winer suggests, should 'make a smart phone with a really great scripting language, with all kinds of scriptable tools on board. Instead of disallowing scripting, disallow apps that can't be scripted. Make a great simple programming environment that runs on desktops or laptops that plugs right in, but it should also be easy to write scripts on the phone itself. Dave concludes, 'We've already seen the Jobs phone. Now it's time for Woz's.' Having ditched App Inventor, it would appear that Google isn't interested. Microsoft Research has the idea, if not the right implementation, with TouchDevelop (video). Any other existing or in-the-works projects that might fit the bill?"
He forgets that authoring and creating things on Tablets is annoying.
And I don't mean "get off my lawn" annoying either, they're just poor tools for those tasks. They rock at redditing and slashdoting, however.
Mod me down, my New Earth Global Warmingist friends!
Sorry to be the pedant, but that "disallow apps that can't be scripted" line seems kneejerk and fairly stupid. Scriptability is not a yes/no thing, it's a measure for how good an API is. If you just want apps that are minimally scripted, I'm sure you could make a platform where every app accepts a hello() message, and does a popup with that, but that doesn't get you close to being able to do neat things.
I suspect what we'd really like is more choice in programming languages on the phone and a cleaner split between UI and API.
I wonder how many people would write apps for such a device for free. I might, and the opensource community might too, but is that enough?
For every problem, there is at least one solution that is simple, neat, and wrong.
Too bad Nokia quit making fun phones. The last was the N900. I'd love to have a new phone similar to that with modern specs.
Because when I code, I always want to use a totally unwieldy UI and no text to do it. It's like when we code for robots, how a hobbyist robot you program by directly writing on the embedded chip, using the robot's sensor's as inputs.
How about we code on a machine that's usable for coding? I can still design neat things for my phone that way. I promise.
There are plenty of good devices out there from a hardware standpoint. The difference is that software is tailored by the manufacturer to reinforce their channels, partnerships, etc. (to the detriment of the user).
Once rooted, these devices get a lot closer to what I think most people are looking for in a hobbyist device. However, that is the trick. Getting root access, and knowledge of the internals so that we can start work on our own.
We've seen the failures hobbyist devices in the past. I expect the same going forward. If only we had access to the hardware and programming specs, we wouldn't even be having this conversation now. Maybe we can find a way to extort this info from these manufacturers.
I recently defected from iOS and I'm having great fun with an android app called QPython.
Docs are still a bit spotty, but with a few lines of Python I can do all sorts of things with the Android API.
Yes, wouldn't it be great if someone made a completely developer-friendly, unlocked phone with good specs at a decent price?
Yeah, no fucking shit it would. The carriers would NEVER allow it on their networks. We won't see a phone like that until we have a worldwide standard for cell networks, so that somebody could make that phone and actually sell it in the US.
That's true for current methods of developing software. Which is typing in code.
Programming hasn't changed very much in 50 or so years. And I think it's ludicrous that we're using a language to prgram a computer to do mathematical operations.
What we really need is a symbolic programming "language" and it would rock on a touch screen.
Why not go directly from dragging and dropping logic to machine code directly? There is no physcal law that says we have to program computers the way we do now.
These "verbal" type of programming languages are so 20th century, inefficient and just old fashioned. Their time has passed.
There was already a phone proposed that could have done this with no problem. There wasn't enough interest on it to make it a reality.
http://www.indiegogo.com/projects/ubuntu-edge
And before you go complaining about the cost, please have a look at flagship Android phones and how much they cost *off contract*. The Edge was a pretty good value.
The amount of patents that surrounds anything mobile makes pretty hard to get new players on the game. And if the patents game didn't killed you, you have next the carriers one.
The best approach so far seem to be the one being done by Jolla with Sailfish, generate enough buzz, get a chinese manufacturer to pledge support (the chinese market is big enough to make this approach profitable), and from there, see how much luck they have in the rest of the world (with preorders at least it worked for them pretty well).
It could work for existing players, unless it requires deep changes to adapt to that kind of approachs, if so, it must be something new. Or something that could be installed on Android phones very much like Ubuntu Touch and Firefox OS are doing, with the core android OS and its drivers.
You should check out Kivy- it will let you create a native app in Python for iOS or Android. http://kivy.org/
A witty saying proves you are wittier than the next guy.
To me, the Android platform was close enough. It's "just" Java (if you can't figure out Java...), there are no fees required to get the development environment or simulators set up, Android devices and phones are available new for as little as $60 (and cheaper as people upgrade). So...to me, Android IS a hobby-friendly environment.
Too bad Nokia quit making fun phones. The last was the N900. I'd love to have a new phone similar to that with modern specs.
It seems that you haven't heard of the Neo900 project which aims to deliver just that.
I'm still getting along fine with my OpenMoko FreeRunner. It's currently running Debian, so it's as scriptable as anything. The "programming environment which runs on desktops or laptops" is whatever you use already; the "plugs right in" part is SSH (and its friends scp, sshfs, etc.).
So, either you love OpenMoko and hence your wish is fulfilled, or you see it as a total failure in which case it's clear why nobody is doing this anymore.
It's currently in a second Alpha state (if you're pulling the latest binaries, probably further along) and runs on a Samsung Galaxy Nexus (couple other profiles too). It's fully open source at this point, and even though supposedly LG wants to use it for TVs or something, there's a group that's been working on it for awhile ever since it was divulged from HPs hands. There are also efforts underway to emulate Android apps on the platform. The community also greatly appreciates anyone enthusiastic enough to contribute. You can find everything at webOSInternals. I still use a webOS phone as my daily device mainly because it does the things I need it to do very well (and other platforms come with way too many strings attached for me).
If you want a hobbyist platform that the big platforms still steal ideas from...there you go. That's the epitome of a hobbyist platform. The scripting is all html/css/javascript using the Enyo framework. It's all open standards and there are plenty of tools that were built by Palm and later HP.
See http://en.wikipedia.org/wiki/Prograph
I loved using this in the mid 90s. I was 5x to 10x productive. But there was no diff available, no way to do SCM, it was hard to come back to code I'd written 6 months before and refresh my memory of what it did. And it was next to impossible to collaborate will a team. I was forced to use http://en.wikipedia.org/wiki/Executable_UML using some horrible tools (Kennedy Carter iUML) in the 2005s - same exact problems.
Now iBuilder or what ever the I tool is in XCode is pretty nice. But building software that works, is maintainable, is extendible, and so on is a hard task - I don't think it is the lack of drag and drop tools.
National Instruments LabVIEW as graphical control-flow (e.g., looping, branching) constructs http://www.ni.com/white-paper/14556/en
+
ROOM+ObjecTime (now IBM Rational Rose Realtime) as graphical object-oriented & nested state-machines http://www.amazon.com/Real-Time-Object-Oriented-Modeling-Bran-Selic/dp/0471599174/ref=sr_1_fkmr1_1?s=books&ie=UTF8&qid=1379088665&sr=1-1-fkmr1&keywords=realtime+object+oriented+modeling+objectime
The whole point of these things appears to be to provide a modern day version of a Commodore-64, and get people interested in programming, and get them engaged, by having an environment where it's easy to do small hacks.
Get a $200 Chromebook, install a full Linux distro on it. In adjusted dollars that is cheaper than a C-64 alone, not including tape, disc or monitor.