Jump to content

iAnnoyance Challenge: Fixing the desktop


Swad

This edition of the iAnnoyance Challenge aims to fix and tweak the usability of your desktop. Interested? Read on.

 

We launched the iAnnoyance series earlier this month as a fun event for the community to come together, brainstorm ways in which we could customize OS X, and allow developers to show off their coding skills. Stoplight 1.1, a great little app that changes the window behavior of OS X (and allows you to maximize!), was the winner. There’s also a cash prize which, although handy, is hardly the main reason for developing (our last winners donated their $500 prize to someone that needed it more). The app will be open source under the GPL and free to all.

 

We’re improving the format of the contest this time around, giving developers a full week to come up with their app. At the end of the week, the site staff will examine all the submissions (and we expect quite a few) and choose the winner based on overall quality, usability, innovation, number of improvements, and interface. While the app can still be in a “beta” stage, keep in mind that it will be competing against apps which might be more stable... so testing is key.

 

While we had initially set prizes at $100 (so we’d have plenty of money to do these), we kicked off the series last time with a prize of $500, since it was our first event and likely the most complex of all challenges. Like I mentioned above, though, this isn’t about the money... although it helps make it worth your time! It's easy cash. The prize award for this iAnnoyance Challenge (and most others henceforth) starts at $250. Donations to add to this award are gladly accepted - if you think you’ll use the app, why not help us support the dev?

 

iAnnoyance Challenge: Fixing the desktop

Since we’re giving you a full week to shape and create your app, we want to give you a lot of room to innovate. The more features you come up with, the more likely you are to win. Below, however, is a list of vital features along with other suggestions:

 

Essentials:

- Set horizontal and vertical icon grid spacing

- Hide individual drives while showing others

- Arrange icons to left, top, or bottom of desktop

- Show/Hide all icons with a hotkey - It’d also be great to have the ability to show only volumes with a hotkey, show all volumes (instead the ones you’ve opted to show with the above setting), etc.

- Ability to “map” where icons can be placed on the desktop, meaning that there are certain places they can be placed on the desktop but not others.

 

Other features we’d love to see:

- Leopard compatibility

- Disable the ability of icons to overlap

- Optional Trash icon on the desktop, either placed on the grid like a normal icon or anchored to one of the desktop corners. (Also, if possible, when this feature is enabled the dock's trash icon should disappear to avoid redundancy) [Thanks for the suggestion, Takuro]

- See this thread for more great ideas (although many of these relate to the finder in general, something we'll tackle later).

 

The contest ends Sunday night at Midnight CST (6 am GMT) - to submit your app email me at mashugly@gmail.com (preferred) or PM me here on the forum. If you've got questions for clarification, please don't hesitate to contact me! Early submissions are fine.

 

Rules and Information:

1. All applications must be universal and be compatible with OS X 10.4 Tiger.

2. All applications must have a cool name (we'll pick the most clever one).

3. Every application must be easy and fun to use.

4. If code from another open source project is used, proper credit must be given.

5. Prize monies can also be donated to the charity of choice. Prizes will be awarded after the first stable release.

6. While not mandatory, "Essential" features are the big items we'll look for. If you're unable to meet one or more, please go ahead and submit your app... everyone else might be in the same situation!

7. Check back here often, in case clarification of the rules is needed. If I were you, I'd subscribe to the thread by clicking on the "Options" button at the top of this thread and "Track this topic."

 

Donation List (Click here to donate) :

Adin B. $15, Alexandre F. $15

 

Current Award

$280


User Feedback

Recommended Comments



Hmm...

 

Yeah, it's true, this code is NOT easy, and considering most of this is already available in Leopard, there's really not much point in putting in the weeks of effort it would take.

 

If anyone's interested, I'm working on developing a simple AppleScript app to Show/Hide the Desktop icons.

Link to comment
Share on other sites

Yeah, lostgame, we'd definitely be interested.

 

A lot of these features won't be in Leopard, however, and that's also several months away. If I had the coding prowess and wanted a few extra hundred dollars, I'd go for it. :)

Link to comment
Share on other sites

*sighs*

 

Well, I spent a couple hours trying this, and realized there's a reason it's in the next version of OS X-it's not easy to implement, whatsoever.

 

It would involve a serious look at the kernel for the desktop, and I'm sorry guys, I just don't have the weeks it would take to develop this and make it usuable.

 

Developing something that could do this would only take a week or so, mostly goofing around, figuring out how to play with the desktop icon's placement-a lot of these issues are easily solved simply by moving icons off the desktop and then, when so desired, placing their x and y values back on to the desktop.

 

Arranging them by top, bottom would be annoying (and probably useless), but changing the left and right is stupid simple if you find the code for moving the icons.

 

It's just all a matter of-where is this stuff stored? ds_store? I really have no idea-I don't know enough about the OS to do that stuf, and it just seems pointless, because by the time I perfect it, we'll have Leopard. =P

 

With that information given, I'll leave others to their work. If it can be done, I will try to make a donation as best as I can, guys.

 

Thanks to all the other Apple devs out there-you guys make the Apple OS worth using, and I love to help. =)

 

Later.

 

Sorry to double-post, but I figured out that the desktop icon info is indeed stored in "/usr/Desktop", in the ".DS_Store" file, this post will contain what will be similar to a ROM hacking guide for the ".DS_Store" files-making an AppleScript to change all these should be a snap if I document it-I'm doing most of the work for you, people. =P

 

It's all going to be about pointers-if you're a newbie programmer and struggle with that, please don't ask me questions-it's not easy to understand, and the only way to learn is by teaching yourself, sadly.

Link to comment
Share on other sites

BTW, if several of you want to work on this together, you can certainly split up the money. It sounds like lostgame made some progress in the initial stages of finding out where a lot of these things are stored...

 

Even if you can't implement all the features, you can still earn some cash for the ones you do work out. :D

Link to comment
Share on other sites

Okay, well, I could use a couple bucks, so I'll release the AppleScript when I perfect it.

 

Here is how it would go:

 

1 ) Remove the "keep arranged by name" or "snap to grid" values from the ".DS_Store" on the desktop, and make sure it stays that way.

2 ) Return the desktop resolution as a value.

3 ) Depending on the resolution of the desktop, add the width of the desktop to the current x value of the icons (again, stored in .DS_Store)when the little "hide" button is clicked, and assign a value to the fact that they have been moved.

4 ) Logically, you'd have to subtract that value from the icons again.

 

Horray! You have your program.

 

All of the major ideas involving the desktop icon's placement are stored in the .DS_Store file. It's hard to tell what the values are, because it's all hex (I think).

Link to comment
Share on other sites

I'm sorry, guys... I really am.

 

It's just too difficult, and I don't have the time to learn that whole weird .ds_store format.

 

But, fear not, most of these options are available for Leopard, so don't worry, you can get it when the final's torrented, and just boot it from a DVD.

 

Update: I'm working on a REALbasic version.

 

It's coming along a lot faster-and it seems to be working.

Link to comment
Share on other sites

I GOT IT.

 

I got it all figured out, I know how to manipulate the desktop icon's positions-it's going to be a simple modification of the source I have to finish-and better yet, it's applescript so it's very easy to edit!

 

I will email the current source to the admin with this post.

Link to comment
Share on other sites

Well, it's not out yet. :P

 

There are a couple things it falls short on:

 

- Set horizontal and vertical icon grid spacing

 

With tweaking of the program, it would be possible, but that's just a lot of hassle for something that is in Leopard. :P

 

- Arrange icons to left, top, or bottom of desktop

 

Top and bottom, makes no sense, and doesn't really work. Left and right is working.

 

- Ability to “map” where icons can be placed on the desktop, meaning that there are certain places they can be placed on the desktop but not others.

 

Again, possible with source, but I'm not quite sure how it could work.

 

When I publish this, don't give me all the money, as I obviously didn't get all the things.

 

But, here's what works:

 

- Hide individual drives while showing others
- Arrange icons to left of desktop
- Show/Hide all icons with a hotkey

 

Those all work.

 

I'm willing to release the underlying code to the public so they can have a chance to share in this money-here's a quote from my PM to Mash for you to understand my point:

 

And that's all the code you'll need to make this entire program work!

 

This is all the code I intend on writing on this project, to allow multiple people to gain profit from this-I want multiple people to have a chance to make a difference in the Mac Programming community, and because this is much simpler, it will encourage people to maybe even learn to program, which is, I think, what this whole idea is really about.

 

Needless to say, after hours of work messing in the wrong areas and all this junk, I would still like *some* money for it, how much you're willing to give me is another question, just know I'd really appreciate it.

 

So there you go-don't assume it's over yet-you guys will hopefully get the chance to do some easy work for some money, I don't know how much though.

 

All I want to do is benefit the community, and I think this is the best way to do it. :blink:

Link to comment
Share on other sites

Your current hard disk icon is basically the "My Computer" icon, UC.

 

You could technically just make a folder with shortcuts to system prefs (control panel and network stuff), network, and your hard disks and CD/DVD drives and that would be your My Computer icon.

 

That's an easy thing to do that requires no programming.

 

Anyone with questions, PM me, email me, or IM me at l0stgame (aim) or lostgame at hotmail dot com (MSN)

Link to comment
Share on other sites

Thanks, and again, I'm here, I'm just waiting for Mash to give me the

. (No pun intended, oh, wait.) =P

 

And remember, the release is the underlying code to make it work, not a "stable release", I'm losing money here to benefit the community, because I honestly just want Mac programming to be something people want to try-and if $50-$100 is the incentive, so be it!

 

I'd love to see multiple people's efforts on this software and have a competition for the best!

Link to comment
Share on other sites

Hi lostgame,

 

thanks for your effort and the time I think everyone appreciate that :D

 

And don't forget to poste it at macosxhints.com, too, there was a thread on iconspacing

and they did not found a solution.

Link to comment
Share on other sites

Okay, guys, I've developed a suite of 4 AppleScripts that do 4 of the requested things.

 

If the resolution of the screen changes at any time, the scripts may need to be run again to apply the changes.

 

1) Hide Drives

 

This hides the disk drives. The trick is, it doesn't really hide them, it just moves them out of the way to a little corner at the bottom of the screen where they can't be seen. =P

 

2) Hide Icons

 

Identical to the "Hide Drives" script except it moves everything on your desktop.

 

3) Align icons to left

 

If you assign this script to run every time you login, it will align all your icons to the left automatically. Otherwise, running the script will just do it once.

 

4) Align icons to right

 

Obviously identical to (3) but aligns to right.

 

Any others that people are really looking forward to seeing?

Link to comment
Share on other sites

Awesome lostgame, great job. I'll work to confirm these this week. (Sorry for not getting back sooner - things are pretty crazy school-wise right now, and I was camping for the latter half of the week).

 

One question - can we have a script that returns all the settings to default? Also, something that would keep icons for overlapping would be great.

Link to comment
Share on other sites

Oh, yeah, certainly on both accounts.

 

EDIT: Also, may I open-source these now?

 

2nd edit: For returning them, all you have to do is hit View/Arrange by/Name and it goes back to normal.

Link to comment
Share on other sites

THIS IS BETA SOFTWARE!

 

It's not perfect (OMG), but if you have major complaints-it's open-source, tweak it to your needs.

 

I'm only providing the AppleScript, but do keep to the first two lines-just leave the first two lines intact, please.

 

By clicking here, I understand this is beta software and contains no warranty whatsoever.

 

If you think it damages your system, just hit (in finder, on desktop) view/arrange by/name and the desktop icons will go back to normal.

 

You've gotta have "keep arranged by" disabled in order for it to work.

 

First known major bugs that I'm working on fixing as we speak:

-the icons, when arranged to the right or left, will overlap themselves if there is more than one column. This is being fixed.

-the icons will not arrange themselves properly always-it depends on the size of your icons.

Link to comment
Share on other sites

Huge bugfixes:

 

1) Your icons can be as big or as small as you want them, so far as you don't have more than two columns, but I'm fixing that.

2) Your icons can be right or bottom aligned (for text)

3) You can use (I think) any resolution, provided there aren't multiple screens.

4) You can have (so far) two columns, which will soon evolve to as many as your computer screen can hold.

5) Automatically arranges icons alphabetically.

 

Release as soon as I fix the columns issue.

Link to comment
Share on other sites

Guys, there already is a "My Computer" thing. Go to the finder and press Shift-Command-C. It'll open up something called [Your Name]'s Computer. Just something interesting: the icon for Computer thing is an iMac G4 with the Jaguar desktop picture :D

 

Also, great job, can't wait to test.

Link to comment
Share on other sites

Yeah, xD

 

That's as far as the icons will go-Apple won't let you put them further.

 

EDIT: release 2:

 

Bugfixes:

 

1) Your icons can be as big or as small as you want them, so far as you don't have more than two columns, but I'm fixing that.

2) Your icons can be right or bottom aligned (for text)

3) You can use (I think) any resolution, provided there aren't multiple screens.

4) You can have (so far) three columns, which will soon evolve to as many as your computer screen can hold.

5) Automatically arranges icons alphabetically.

6) The icons no longer go to weird "y" values when hitting the "arrange to left" script.

7) The "arrage by right" script is flawless.

8) I hereby support these scripts and any problems that occur.

 

Enough major fixes for you? The "left" script had to be completely re-written, basically.

 

Download scripts here.

 

How to use:

 

1) Open the script you want to use in AppleScript.

2) CLOSE ALL FINDER WINDOWS. THE SCRIPT WILL CURRENTLY NOT WORK UNLESS ALL THE FINDER WINDOWS ARE CLOSED. Also, I don't want to have the script automatically close all the Finder windows, because that would suck on the user's part.

3) Click "run" in the AppleScript window.

4) Quit AppleScript.

 

If you want to have it execute at startup, follow these steps.

 

I'll use the "move icons to left" script for my example.

 

1) Open the script you want to use in AppleScript.

2) CLOSE ALL FINDER WINDOWS. THE SCRIPT WILL CURRENTLY NOT WORK UNLESS ALL THE FINDER WINDOWS ARE CLOSED. Also, I don't want to have the script automatically close all the Finder windows, because that would suck on the user's part.

3) Hit File, Save As, and under format hit "application".

4) Uncheck the "startup screen" box.

 

Place the app in your startup item list.

 

Voila. The first stable release.

 

There are more scripts to come, such as the icon overlapping thing. To solve icon overlapping for now, run the align left or right scripts.

Link to comment
Share on other sites



×
×
  • Create New...