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!
And you can program them on the phone. Not as easy to build that into apps, though: https://code.google.com/p/android-scripting/
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.
I never did any WebOS programming, but I loved my Palm Pre -- anyone know if it's scriptable?
and before you say it's dead ... remember, HP released it into the wild, and then sold it to LG:
http://mobile.slashdot.org/story/12/08/31/2032236/hp-launches-beta-of-open-webos
http://entertainment.slashdot.org/story/13/02/25/1747201/lg-acquires-webos-source-code-and-patents-from-hp
Build it, and they will come^Hplain.
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.
I get the desire to script, on many levels...but to have the ability to write scripts supersede ALL other considerations for an app? I'm sorry, but when I'm playing solitaire on my phone to kill a few minutes, I don't see any particular need to be able to run scripts. This seems idiotic to me. I would hasten to point out the numerous advertisements for everything from web browsers to phones (of different types) to tablets that used "Angry Birds" as an example of what you could do. A phone that can't play games (because let's face it, scripting is not needed in most games) is going to fail horribly.
For your security, this post has been encrypted with ROT-13, twice.
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.
Why re-invent the wheel, JavaScript is the fastest most widely supported scripting language there is. it's easy to use and already exists on every computer that has a browser, it's also pre-installed on every smart phone.
I want a phone without any high-resolution color display and without a touch screen. It should have a small led display, many sensors (including alitmeter, barometer, thermometer, movement & tilt sensor), should have a little keyboard with a control key, sophisticated power-management with built-in wakeup/alarm routines, would have a battery life of one week or more and needs to be entirely hackable/scriptable in LISP. On the backside, there should be a picture of the Flying Spaghetti Monster.
Alas, it's not going to happen... :-(
From the leftovers of app inventor as created by MIT you can still make perfectly happy fart button implementation.
The trouble with most of those graphical environments is mostly the same thing. You can create a nice 60% ready app in a minimal time. However the fine tuning and the doing of special things will require effort that equals hard code coding.
Its an open source design, initially intended for the EU.
http://www.fairphone.com/
They met their minimum orders already and are getting close to selling-out their initial production run. Delivery date is December.
I've thought about making a custom "phone" in the past with GSM modules, but haven't had the time. Telit sells modules that have a builtin Python interpreter. Might make a fun hobby project. Sparkfun used to carry these modules... http://www.telit.com/en/products.php?p_ac=show&p=7/
A witty saying proves you are wittier than the next guy.
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.
Just Install Asterisk on a Raspberry Pi problem solved :)
Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.
It seems like the open scripting would fit in great with these folks:
http://phonebloks.com/
Unfortunately, I doubt the carriers would ever 'appreciate' this much freedom.
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.
What would that do? Allow free long distance calls? Tell you jokes? Or pull a practical joke on you every time you used it? Can only be operated on a Segway?
Of course news about a fake are Fake News.
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
They're in the process of moving their 3G (UMTS/HSPA+) support to the PCS 1900 band, and then using the AWS 1700/2100 band for their LTE. If you're in an area where T-Mobile has LTE, an unlocked AT&T phone should work on 3G.
Oh, no! You have walked into the slavering fangs of a lurking grue!
It's called javascript and it runs on all phones already. You don't even need access to the phone itself, just a webserver...
Never say never. Ah!! I did it again!
Wouldn't Woz's phone also include an open case design, some empty chip sockets and an expansion bus? You know, in case someone wanted to experiment. :)
I'm holding onto my N900 for the forseeable future.
I would be willing to pay several thousand for one with larger screen, some more up-to-date packages, a faster processor, etc. However, nothing like that exists apparently. The fact that I can make this phone do almost ANYTHING that my desktop computer can (plus make phone calls!) means that I'm not giving it up for a while.
This has been done numerous times before with various levels of success. Appware was a Borland attempt back in the day that fell flat on it's face, LEGO actually has several such interfaces for programing Mindstorm robots. Microsoft SSIS is probably the most successful platform and is used for DB translation. The problem is always the same however, it is impossible to build any thing of beyond moderate complexity and far too difficult to figure out what you were doing when you come back to it, let alone figuring out what someone else's program is doing.
Code is written as a human readable language because it is something we naturally understand easily. The typing interface isn't the most natural method of data entry, but we can understand and read it easily when we are looking at it later. The structure and lexical simplicity is key to this and trying to abstract it to a graphical system like you are describing necessarily makes it too difficult to work with. It is possible, with sufficient effort, to write complex and reusable subroutines, but it is far FAR more difficult than doing the same with a typed language. (I have personally done this back in high school when programming an old robotics system with a flowchart language that needed all kinds of complex logic that I had to nest.) It took me months to write what I could have done in days, if not hours, in a standard language.
AJ Henderson
So what steps should I take next to help get netbooks back into production? Or by "netbook" are you referring to 12" laptops?
If your carriers decline to implement it in favour of CDMA or something, then take it up with your carriers being obstinate.
Carrier V and its MVNOs: CDMA
Carrier S and its MVNOs: CDMA
Carrier A and its MVNOs: The single most hated carrier in the United States
Carrier T and its MVNOs: Zero bars in too many places
What do you expect the major U.S. CDMA carriers to say when an individual customer asks to switch to GSM?
Don't conflate the US' bizarre anti-competitive mobile phone system with the rest of the world.
How should U.S. residents qualify for legal immigration to escape "the US' bizarre anti-competitive mobile phone system"?
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.
Unfortunately, it only works for Android.
In addition, from the page you linked: "on{X} beta requires Facebook ID for authentication"
So you're still feeding punched cards to your computer?
I still use punch cards ... as book marks. In my intro to programming class (1980s) the professor had us do our first programming assignment on punch cards. He told us they were obsolete but having used them once we would better understand why some things are the way they are. He then mentioned we would have bookmarks for life so the deck of cards we had to buy wasn't completely useless.
:-)
As I typed the above I realized that I am old not only because I had used punch cards but because I was referring to reading paper books. The punch cards don't help so much when using my paperwhite.
or to have to deal with the added cost of an extra phone each month as well as the question of which phone number to give whom.
This is true if you happen to live in an area where only CDMA2000 carriers that refuse to use CSIM have acceptable coverage. But if you happen to live in, or can move to, an area where T-Mobile or another respectable GSM carrier (or a CDMA2000 carrier that uses CSIM) has acceptable coverage, you can always take the SIM out of one phone and put it in the other phone.
Oh, and since non-scriptable apps are out of the running, you exclude nearly the entire ecosystem of existing apps which are available today to do even the most crucial and basic things (like read email).
For one thing, I think excluding applications that aren't scriptable was a joke. For another, plenty of MUAs are scriptable.
Writing code is not something a smartphone excels at as a platform; gaming, on the other hand, and many other non-scripting activities are.
For the same reason that most smartphones are poor at writing code, any smartphone that isn't the Xperia Play is poor at some game genres. A platformer like Mega Man, for example, really needs physical jump and fire buttons. When I tried playing a platformer on my Nexus 7 tablet, I kept missing the on-screen buttons with my thumbs because I was looking at the action at the center of the screen, not the buttons at the sides.
also, I wondered what happened to the Windows smartphone or Windows CE I think it is called.
Windows CE got replaced with Windows Phone 7 (a .NET-only platform with an annual fee to run your own code on your own device) and later Windows Phone 8 (a slimmed down version of Windows RT that I think has the same annual fee).
This was the intent with iOS 1: all non-bundled applications would run inside Safari. But phone browsers have a habit of not exposing most of the phone's capabilities. For example, Safari for iOS couldn't upload files until very recently, and even now it can't upload anything but pictures and videos. Nor does it support WebGL in web pages or ability to use the device's camera and microphone (with the user's permission). Otherwise, there would have been no need for things like PhoneGap.
But it didn't survive the market well.
It was called WebOS. Some people still cling to it, but it's a dead platform.
Didn't like the way things looked or behaved in any app? It's all CSS and Javascript. Patch it. Patching WebOS was a very nice, elegant, and easy way to customise the phone.
And I want a pony.
I made a scripting app and it's been on the App Store for a bit more than two years. Its not a mainstream scripting language but rather a forth/postscript -inspired stack based. Its got runloops, shallow inheritance, threads, imports, marginal UI and complete Objective-C bridge. It gets the job done so well the engine is at the core of two other Apps.
So, whats keeping you guys from making a Python App? Or whatever language you want to use.
BB side loading would seem to meet the bill is the add "fun" of never being sure if all the required dll from Google Play are their or not.
Life is like untied shoe laces; it always tripping you up and getting in your way.
OK call me naive but what is the big advantage (that I'm not seeing) of scripting over something that runs natively?
The biggest problem I see in the smartphone industry everything is tightly integrated to the point where even batteries are not replacable.
Half the time it is impossible to install a different operating system if there were even a viable alternative to select. Why is it that operating systems that come with these devices be customized for each device? I can boot a live linux distro off of any x86 computer and it just comes up. Why should a phone be any different?
If there were some way to modularize devices where one could pick and choose hardware they want there may be some pratical/cost constraints but you could at least offer pluggable baseband modules so people would not have to worry about using device x with network y and it would be isolated in a way that protected the carrier from the end user and the end user from the carrier.
Having some kind of high level programibility built in would be a lot of fun.
Surely Dave Winer can't be that out of touch. Firefox OS nails it.
In Firefox OS everything is written in JavaScript, the most widely-deployed scripting language that developers already know. Unlike all the other also-rans to IOS and Android, its system applications — calendar, on-screen keyboard, music player, etc. — are likewise written in JavaScript. To permit this, and unlike BBX, OpenWebOS, Tizen, Windows 8, and everyone else saying "Write apps for our failing platform using HTML/CSS/JavaScript", it has Web APIs to most phone features (battery status, Bluetooth, camera, SMS, etc.), all on various tracks towards standardization. Like lots of phones you can run your apps on the desktop in an emulator; unlike lots of phones the Firefox OS Simulator runs in your browser. Unlike any other smartphone many of the apps you write for the phone will also run and install unchanged as apps on desktops (and Android) running Firefox, many will also work as Chrome apps with minimal effort, and anyone can run an app store, you just put an install button for your app on a web page on your site.
=S
It lists what the FairPhone is about, including this bullet point:
"Open, future-ready design
Open, update, modify and make it yours – now and in the future."
Have you seen the prices of NTP time servers that use CDMA cell communication for time source? The advantage over GPS based (which are also expensive) is that GPS based time source doesn't work so well with antennae indoors or in area surrounded by tall buildings. So I'd just be interested in project that uses CDMA to get time signal (which doesn't require subscription to any provider).
Ouch. I wonder what the experience is like when you build and install Firefox OS on a decent Android 4.x smartphone.
=S
The N900 and descendants had that. There is a startup trying to bring such things back.
Not only was it a good phone, it also could support the major languages already out.
About the only problem it had was the USB port being a bit loose, but otherwise a solid and presentable "do-anything" box.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
I'd be thrilled with AppleScript on the iPhone.
.
Everybody has the right to masturbate, but if you can't answer that question with some crediblility, this discussion is a waste of time.
There's a Ubuntu phone in the works that obviously allows scripting
Well, specifically, the Ubuntu Edge didn't manage to raise enough funds on Indiegogo.
They were asking quite a lot of money. 32 million and only got around 12 if a remember correctly. That's quite a lot, but at least they were honest with taking into account that they have absolutely NO experience in phone making and that it would probably cost that much ressource to bring the Edge into market while having to learn absolutely every single necessary skill on the way.
Basically, in order to bring the Ubuntu Edge on the market, Canonical would have had to create its own phone making company from the ground. Hence the high required initial investment.
Luckily for us, that's far from the only opensource project.
That includes old classics like the Geekphone, the qtopia Greenphone, or even the OpenMoko's Freerunner (entirely opensource, including design, PCB and firmware on components).
That includes also several upcoming machines (like some FireFox OS powered phone), and among other the Jolla (done by no less than the former Meego/Maemo team at Nokia, who split after Nokia shut them down and decided to become Microsoft's lapdog).
Jolla's case is slightly different (specially from iconic phones like openmoko's freerunner or ubuntu's edge), in that it's not done by opensource idealists with little experience who make a first try at an opensource phone hoping to liberate the world of walled garden there (though openmoko got help and partnership with FIC). It's former phone maker with quite some experience and legacy, who decides "Fuck our former boss, let's keep making an opensource phone". They have way much more contacts and experience and will probably iterate through a lot less of hardware bugs iterations.
(That's the big problem with some of the early "full opensource phones": the maker are quite inexperienced, make quite a lot of hardware bugs [like broken sound], requiring further iteration to fix. By the time the product is stable and final, it's design seem outdated and underpowered for very expensive price, specially compared to the offer from big brands. That's at least one less problem for the Jolla).
You can hook it up to a monitor, keyboard and mouse to use it as a real computer too. {...} phones already have more CPU power than a 2007 desktop so why are we limiting them to a 4 to 5" screen? Someday soon you'll be able to walk in your office and flick the screen of your smartphone over to your desktop screen and sit at your keyboard and continue to work on whatever you were working on.
And Ubuntu is far from the only one thinking in that direction. That's already been being done in hobbyist circles (get a 'chroot' running inside android phone which have MHL and/or micro-HDMI, Usb-on-the-Go, Bluetooth HID, etc.). That's advertised as a concept for quite some time by Always Innovating (and given their trend, ASUS has therefor a Padfone in the pipeline). So don't despair.
You'll either get your dream "programmable smartphone as a desktop" from an opensource company (such a dock is really a nice "Other half" project for Jolla).
Or simply get a dockable one from the companies copying AI.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
I want to access a list of all employees from the employee table joined on employee number to salary. And sort it please. Got any idea how to express that or a similarly complex idea unambiguously in gestures or pictures?
Neither does anyone else, that's why our ancestors developed spoken and then written language. And that's why we use written language with computers.