Hacker News new | comments | show | ask | jobs | submit login
Ubuntu Looks To An SDK, Improved App Development (phoronix.com)
45 points by angersock 1816 days ago | hide | past | web | 35 comments | favorite

Seriously, just no. This is entirely against the spirit of open source software and Linux entirely. It just turns Ubuntu into another incompatible walled garden. I've had enough of all these turf wars between "app stores" and walled gardens. To hell with them all - this is not why I use Linux and this is the same for many people.

I think Shuttleworth's intentions have finally become apparent. Hypocritical sell out.

I'm moving the last 3 LTS machines to Debian tomorrow and cancelling our landscape service.

That's rather premature before you even know what they want to include. A large chunk of the API's and libraries that are in widespread use across most Linux distro's today started off promoted by one or the other of the commercial Linux distros.

Android (one of the "walled gardens") has done nothing but make the linux kernel more popular. While I'm with you in that I'm not really interested in Ubuntu or this "app store", I realize I am not their target audience.

This could actually be a big help to OSS if the SDK was GPL'd, however I have a feeling they will go the way of Google and pick a permissive license.

Ubuntu, like Android, only uses the Linux ecosystem for its foundations. The end result will not be a completely free and open system.

With this and an ubuntu app store for paid software I'd consider porting my software to Ubuntu.

The Ubuntu Software Centre already has paid apps, and this SDK wouldn't be all that useful, seeing as how Gtk, GL and so on are well documented anyway.

Yep, let me add an example link to complement your comment:


I don't know how big is that, if Ubuntu users are really buying applications.

EDIT: the apt:// URI triggers the Ubuntu Software Center that looks like this http://i.imgur.com/UL3dq.png

Not sure what an Ubuntu SDK would look like. Everything would surely target GTK3 , Unity etc which is going to be reasonably cross platform.

Having said that it would be nice to have a "ready to go" stack of tools to build Ubuntu apps.

Ideally do similar to MS and include first class support for JS for web developers as well as something for folks who like static typing.

It would be nice if you could use simple markup to create the GTK3/Qt/Unity application. That way far more people could contribute to open source. They would just fork the product fix or add something and send a pull request to the maintainer. On the web you can do 'View source' everywhere, why not be able to 'Edit source' on every open source project making it easy to contribute for everybody. You could even have something similar to a DOM inspector to locate a problem fast without spending days getting acquainted with the project's source code.

There was a fantastic prototype called Entity years back that used a similar model and took it much further. Everything ran of a document object model that you'd then script with javascript, Perl or C (which was passed to gcc to compile a .so at runtime....). They had an example editor that let you edit the editor itself at runtime.

Seemed quite Smaltalk inspired. Unfortunately it died and disappeared.

Yes, this seems to be the kind of thing I had in mind.

I really should dig it up - I have a copy of it somewhere. The original author seems to have disappeared without a trace, and the website was taken down... A shame. It was rough around the edges, and some of the features were a bit "creative" (requiring gcc to be installed so you can runtime-compile C code into .so's was perhaps a bit over the top...), but it was a fascinating experiment.

Grip used to be written in it (only "production" quality application I saw using it): http://freecode.com/projects/grip but I think it was rewritten without Entity at some point.

QML is sort of related to that. It's a declarative javascript QT framework.

I'm not quite sure how to feel about this. On one hand an OS-level SDK (that isn't directly tied to the kernel or glibc) feels grossly overdue, and I'm not sure how you'd go about doing this in a way that is distribution-agnostic. On the other hand, tying your development to a single distribution is quite the antithesis to Linux and doesn't seem to be in the best interest of anyone, including those using the SDK.

It'd be a pain at first, but look at other APIs like a database ORM that supports MySQL, Oracle, MS SQL. The commands to the end-developer are all the same for any of the platforms, but the underlying API can use any of the supported database engines.

If the Ubuntu API were done right, it could be ported, to say, Fedora, and use any underlying fedora libraries without the end-developer having to change her code at all! It could be extremely useful. You'd have a Linux API that can source the best API to use for the end-users current configuration.

You've just described KDE, Gnome and a suite of other graphics toolkits. Do we really need another one in the mix?

As someone who would like to use Linux as the main OS, but doesn't think Ubuntu is yet that consumer-friendly, I believe this is much needed. What I dislike most about the Linux ecosystem is the applications. Most of them look like they were designed in the pre-2000 era. How is Ubuntu or any Linux distro to become a consumer OS when the apps are so ugly and not modern? How will it attract consumers in the market and increase demand for it?

So I hope they put a lot of emphasis on the design tools and design resources. They need to do it at the level Apple, Google (with Holo) and Microsoft has done it (with Metro). Make it extremely easy for developers to make beautiful apps with stock resources.

But before they even begin to do this, I strongly urge them to take another look at Unity, and rethink it a little before they go all-in with it for the next 5-10 years. I still find Unity slow and frustrating (usability wise). Unless the apps will also be made to be touch-ready, forget about the idea of having the UI look tablet-ready. It doesn't help much if only the OS is touch-ready, but all the apps aren't, and if it's only the OS, then it will just annoy the PC users.

I also think they need to further hide some of the complexities of the Linux OS, like all the package stuff and command line stuff. A normal user doesn't even want to see that, and will freak out if he does, because he won't understand what it is, and will just get the perception that Linux is too hard for him.

I too find Unity unwieldy. I discovered alt+~ yesterday, which allows switching among local file windows--that was a huge slowdown for me!

I like Unity quite a lot and find it very attractive, same for the most commonly used apps. GNOME Terminal looks great with dimmed transparency, Firefox looks the same as everywhere else but integrates with Unity nicely, Rhytmbox is OK, and all the other GNOME apps -- gPodder, gedit, nautilus -- while not stunning, look fairly modern and, most importantly, don't get in the way too much.

> I discovered alt+~ yesterday

Press and hold Super (Windows) key for a list of most useful Unity keyboard shortcuts. Even that list is pretty!

I think that's the problem I have. I don't care about a pretty desktop, I care more about functionality. Ingrained muscle memory is hard to change -- if alt+tab was the standard for 15 years, why should it be shifted? Similar little issues plague my Unity usage, not even to mention the lack of default configurability. If I want the right side or bottom of my screen to be the dock, it should be so. Instead I'm stuck with having the left side of my right screen being where I make an attempt to find the dock. Unacceptable, in my view.

Shifting paradigms require buy-in, and Unity just doesn't have it from me yet.

> if alt+tab was the standard for 15 years, why should it be shifted?

Alt+tab works as expected -- which is to say, as I always expected it to -- on Unity, what do you mean by "shifted"?

Before Unity, iirc, alt+tab default behavior switched between windows, regardless of program groupings (e.g. Thunderbird compose message and main windows).

I just wanted to say that I appreciate you acknowledging the need to buy-in and being almost completely unjudgemental of things that are preferences. I think your condemnation of Unity's configurability is pretty spot on, though I'm not sure how much of that is deficit vs intentional.

For what it's worth, Apple's been grouping windows by application, GNOME now does it, elementary OS does it, Android/iOS/WP7 arguably do it. Honestly, Windows and KDE(?} are the only modern DE that don't do it. I'm not saying that makes it de-facto right or that you must accept it at all though.

Also, I know in GNOME at least you can configure it. I only say because if that's a big issue stopping you from like Gnome-shell or unity, you might check it out. I know I was blown away at: one, how offensive the Amazon results were in Unity and two, once that was remove, how really, really, really good they've managed to get Unity to me. Compiz will never not be crashy for me... we just have too much history... but Unity itself, I was pretty surprised. Polish (not the people) helps, a lot.

> For what it's worth, Apple's been grouping windows by application, GNOME now does it, elementary OS does it, Android/iOS/WP7 arguably do it. Honestly, Windows and KDE(?} are the only modern DE that don't do it. I'm not saying that makes it de-facto right or that you must accept it at all though.

Fair enough. For now I run OpenBox with Tint2. It's quite minimal, but it does everything I need for a GUI at present. My poor wife on our home computer though... :D She's pretty techie but still Unity is a hard sell for her.

Perhaps Ubuntu could have a "Developer's Build" that includes Unity and other goodies as default, and a "Consumer Build" that defaults to Gnome Classic with many configurability options. Just throwing that out there.

iirc, OSX behaves in the exact same way as Ubuntu. Alt-Tab, to switch between applications, and Alt-something to switch between windows of an application. I could be wrong though, it's been over a year since I used OSX now...

This is where Alt+Tab in Ubuntu/Gnome was just fine before and the new OSX emulation has ruined it for me. I've switched to XFCE.

Hmm, maybe the reason I like Unity is because my previous machine was a Mac and everything just makes sense. I guess if you're coming from Windows, you're going to get annoyed with certain things, but only the same things you'd get annoyed with if you were moving to OSX.

I couldn't stand Unity either, and for me it was more an issue of coming from an earlier version of Ubuntu (gnome).

Fair enough. I miss my CompizFusion window switchers too (as the default).

Are you serious? If that's true I owe you a huge "Thank You!"

Every time I have to put my hands on a friend's Mac (to show/help/diagnose something) the single most frustrating issue is trying to alt-tab between multiple windows within an application (mostly browsers). I do it, and instead it goes to another application.

I have asked every single one of them for such a hotkey get blank stares, and reluctantly use mouse instead. All of my Google-Fu never helped much either.

While we're on the topic, is there a hotkey to toggle maximize/restore of a window in OS X? I was impressed with the way Windows 7 handled it, so much so that I've emulated it in all of my various Linux configurations.

Command + ` will cycle through an applications windows in OS X.

It doesn't help much if only the OS is touch-ready, but all the apps aren't, and if it's only the OS, then it will just annoy the PC users.

This is exactly my worry - an SDK for what exactly? I have been in favor of having one standard API/ABI for GUI applications in Linux for years now. Given the fragmentation in Linux, the only road to succes is if one vendor (e.g. Canonical) pushes it. But since the smartphone and tablet revolution, Linux has two problems: there is no standard for PC nor touch interfaces.

They should adopt the Human Interface Guidelines that Elementary OS use. http://elementaryos.org/docs/human-interface-guidelines

I think Ubuntu and Linux in general would benefit from a standard SDK for packaging and selling apps. Yes, selling apps. There are plenty of package managers and so on if I want to do FOSS, but if I want to make money selling software for an operating system that I love, make it easy for me to do that. Otherwise, I'd rather dev for Mac or Windows or Android or iOS.

Ubuntu making their own SDK would solve the "which set of tools should I use" problem that I think makes commercial Linux dev less awesome. Ubuntu's already gone down this road a little bit with their Quickly app framework, but I think they could take it a bit farther.

Mac, Windows, Android, iOS all benefit greatly from a standard app SDK. Add Ubuntu to that list and I'll be a happy camper.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact