You could actually incorporate a sprite building tool into a build/deployment script.
That would be a very nice addition to any JS UI toolkit.
It would take all the images (assuming they are of the same type...PNG gets my vote) and put them into a large image sprite... while adjusting all CSS and JS to use the new image.
Not an easy task i think... but interesting from an optimization POV anyways.
SO you're saying that the pool being 3 meters deep instead of 2 meters doesn't make a difference?
Phelps is still the faster swimmer... it's the world record times that MULTIPLE swimmers in a race are breaking (not just US swimmers and not just Phelps) that is at question.
You can't break a world record in a non-regulation / non-approved pool. This pool in China is by nature of being the Olympic pool... is official - at 3 meters depth. Past pools were less deep.
Not having waves bouncing off the bottom creating additional density and turbulence to swim through would seem to be an advantage to swimming faster.
Again Phelps is still the fastest but if you watched any of the races you'll have seen the other swimmers also beating their own fastest times substantially and many getting close to prior world records (excepting the fact that Phelps was re-setting them even faster).
The only advantage Phelps may have had is if he trained in a similar pool and had learned that certain techniques when used in a deeper pool were more effective than when used in the more shallow pools... such as diving deeper on turn arounds or off the start, so as to go further under water which is known to be faster when you push off rather than heading up earlier to begin swimming again.
How is this different from Desktop Software? It's the same reason I have limited selection of games on my Mac....
Developing for Windows is easy. There is only one platform.
But OS X, Linux and Java are three completely different platforms. That's not to mention BSD, Solaris, even. Developing for an individual Desktop OS is easy, but to reach the entire market, it's very difficult.
------------
Now what you should do as a developer is determine which market segment your software will sell to the best and target the platform that segment uses the most.
Business Users still goes for Windows Mobile (though iPhone rumors persist)... but Blackberry's based on the old OS??? are still out there in force but not for long as their contracts are nearly up and they will upgrade rapidly. Here you're stuck with WinMobile APIs (which are great for some things and poor for others).
Consumers who actually buy and use apps are going for the iPhone (the rest just want a phone that might play mp3s and take pictures). Also the best experience is on the iPhone so if you want people to enjoy using your app.. it's the way to go though you have to know and accept the limitations of the SDK/License (though the SDK is very robust for what it allows you to do).
Developers like the Nokia because it's now running Linux... or later Android when it comes to market. Nokia phones support a wide range of apps with few limitations.
I agree with you completely... except for the fact that the unemployment paperwork you mention will have to be done by someone... and unless I'm mistaken, that person was layed off right along with you;-p
Seriously though... I agree that you do need to run governments like you run a business, profit/loss... except for the part where profit is concerned... gov, does not need a profit, they just need to ensure no loss. It should be easier to run a gov.
Unfortunately they are the worst at promising to people (lobbies, taxpayers, unions, etc.) things that they can not deliver - so as to improve their political position - which apparently causes more problems than trying to improve their market position.
DIVs don't have semantic meaning because they are not supposed to. They are only supposed to be used to DIVide up your content as needed for CSS styling... as in, give your DIVs a unique ID so you can scope your styles.. that's it... nothing more. If you choose to also style the DIVs so they have presentation, that's your choice but since DIVs have no semantics, they can be ignored as far as the actual content goes, as in a screen reader should not read a DIV at all...
If you want semantic structure to your document to divide it up into logic sections, use an UL and set the display to block and reset all the default styles, voila... a structured but unordered list of your content.
Tables on the other hand impose unwanted semantics, quite the opposite of DIVs or ULs.
I suspect that modern large planes don't suffer from the problems you are describing.... since NOBODY turns off their phone completely on planes now and i've yet to see a plane disaster caused by a cellphone problem.
So your anecdotal evidence while it may be true for your plane does not fit the evidence for large commercial jets.
What about people who don't find it annoying to hear others talk on a phone (as opposed to talking to the person next to them?) and would like to get on with their life despite the fact that they are stuck on a plane for hours...
Why can't those who want peace and quiet simply put on some headphones? That's what I do at work when I need a break from the constant noise around me...
hmmm ffmpeg is what drives my hacked Apple TV... it's called MPlayer and i'm pretty darn sure it works on all modern OSs... in addition there are many many GUI tools out there that wrap ffmpeg functionality. A big one for mac is VisualHub which does great transcoding using ffmpeg libraries...
Axure is good and fairly cheap ($500) for doing prototyping... it's like Flash/Director in that you can script controls but does not do animations, etc....
It does allow for logic though... so you can put in conditional content... and has things like input validation which is quite nice.
Start with a script for each action/task your users will want to take. These are called Use Cases.
Diagram it out showing all the options along the way, the inputs and the outputs (sounds like UML you say...)
Then create Wireframes which include all those inputs on a screen layout.... put them up on a big wall with strings connecting them representing your earlier diagram.
Have a bunch of people follow the scripts that you wrote and see if they can accomplish the tasks. This is called User Testing.
Fifth, have a good designer look at it. They will make suggestions about whitespace, cluttered menus, colors to use, fonts, etc.
Add the graphics into your prototype (it's fairly easy with Axure)
Now do another round of User Testing.
If the first or second set of User Testing gives you significant feedback, incorporate it into your Use Cases, Wireframes and Prototypes and repeat these steps.
Finally, UI design is very much like Software design.. if you do all your planning up front before you ever start coding or designing... you will save tremendous amounts of time at the end by not having to re-code everything when you find out it doesn't work correctly or your users hate it.
The UI is as important as any other part of the software... take the time to do it right and use every tool in your engineering, programming, design and project management toolkits.... by design I mean architecture design, not pretty colors design.
Oh and BE CONSISTENT... users want things to be in the same place every time they look for it... so don't hide things, disable them... don't move navigation around.
One more thing, less is more. Google was very successful giving people one input box to do search... follow their example where possible.
especially go lawn sale hunting in affluent neighborhoods... they always have the best stuff and won't worry about prices too much. We picked up a nice inclining treadmill with rate monitor, etc for $100 - was a $1200 model when bought.
Linux is better than Windows !== Linux is better than OS X
Personally it's a personal choice/opinion. OS X for me is the best... for you it's probably Linux, for someone else it's arguably Windows (Gamers, Office Assistants, Aunt Mildred)
And how is this different from the millions of companies that run Linux servers? They too could care less about said matters and said lock in... and they of course make up the majority of Linux users.
Have you read any American News about what happens in America?
We kill more of our own people via gang shootings, revenge murder, random violence, etc. than all the deaths in Iraq and Afghanistan (both sides)... trust me, if the rest of the planet decided to invade the good ol' USA, you'd have hell to pay. We carry guns here... good guys, bad guys... normal average citizens.
Think about Texas. Think about deer and boar hunters in Arkansas and the rest of the central south... think about all the organized criminals... now think about how you'll have to deal with our Navy first, Airforce and Army next... then if you get on our soil, we'll all be at the local gun store (we call them Wal-Mart BTW) getting outfitted for skirmishing.
I seriously pity the military force that manages to get past our standard military forces.
Hmm except that most phones don't support OpenGL, have built in support for GeoLocating using both GPS and Triangulation, have built in support for multi-touch, motion sensors, full gyroscopic tilt sensors, 160 dpi screens, etc. etc.
I too an looking the ExtJS GWT component for a application... though I'm also considering just using ExtJS + DWR (Direct Web Remoting) which from what I've seen is a more mature AJAX transport module for JAVA and provides both push and pull AJAX (reverse-AJAX or Comet like capabilities)
I like the ability to manage the project in Eclipse with the GWT component but worry that it may add too much overhead and make customizing the look and feel harder than it needs to be.
The app will talk to Spring MVC on the server either directly with GWT or via DWR with just EXT... then either get results from another server app via the Spring containers or from a Hibernate DB layer.. if the results have already been cached in the DB... with a RESTful API.
Just remember to actually talked to disabled people.... not just the groups representing them.
You may find that those with sight impairment who need to use a screen reader, those with motion impairment, who need to use an assistive device (which basically does tabbing through your links/forms with keyboard input).... want the SAME EXPERIENCE as their fully abled peers.
These aren't disabled anti-javascript ant-flash nuts... they're just disabled people. They want to use the latest greatest web site technology just like 90% of the people out there.
So to use your analogy... yes they might have difficulty with a spiral staircase... but that doesn't mean they don't want the view from the second story. So don't go making single story buildings everywhere because it's easier to do that than it is to add an elevator.
Flash can be made accessible, Javascript can be made accessible. They just take more work. If you don't have the budget to do it in an accessible manner then provide an alternative set of content (and apologize to your disabled visitors for being too cheap to give them the GOOD experience).
The ONLY reason to do a site without script or flash is if it would not add any value... which is a very hard argument to make. People really do appreciate visual cues, preemptive form validation and *fun* - so don't think you are helping people by leaving those things out.
I suggest teaching how to program with OpenGL.... immediate gratification while learning to work with a published API... but if you can steer him towards procedural graphics he'll also learn about CS logic switches and for looping statements.
This will smooth the way towards algorithms. Once he's got a handle on those concepts he can apply it towards anything, graphical or not. You can do pretty much anything in CS with a good mix of logic, loops and algorithms... but the real key is working with published APIS... teach him to not reinvent the wheel and he'll be off to a good start.
Re:Biggest geek movie until X-Files?
on
Batman Discussion
·
· Score: 1
I agree the X-Files was a particularly non-geeky TV show (excepting those geeks that appeared in a few episodes)
Oh wait, you were talking about Batman? Hmmm i think maybe the use of the entire city's cellphone collection as a giant sonar array and referenced against the Joker's voice pattern to both find him and visualize his location, might just qualify.
Re:Holy editing Batman!
on
Batman Discussion
·
· Score: 5, Insightful
Personally I thought that was part of it's brilliance... the director didn't feel the need to explain everything. I hate it when movies try to wrap everything up in neat little bows so the audience doesn't have to think (a little.. not like the independent films where the entire story is a brain puzzle).
you do know that is how we managed to climb our way out of the muck right? Just swap out "iron dust" for "oxygen". Then later oxygen became less plentiful which is why we no longer have giant insects roaming the earth... and for millions of years the oceans were more acidic than they are now... still life managed to thrive there.
Humans are an environmental effect like any other... volcanoes, earthquakes, massive land fires, meteor impacts... they all wipe out life and ecosystems. They also leave new ones behind them... just as we do. Our cities provide huge ecosystems for various types of life... even though they displace other populations... but it's not important which life forms survive, only that some life forms survive. Large animal Biodiversity is important to US because we don't want to live in a world without it.... to life in general there is plenty of biodiversity regardless of what we do. There are millions of species of insects and bacteria which thrive in our cities.
Or just price everything the same... say $0.99
You could call it a 99 cent srore... you'd make thousands!!!!
You could actually incorporate a sprite building tool into a build/deployment script.
That would be a very nice addition to any JS UI toolkit.
It would take all the images (assuming they are of the same type...PNG gets my vote) and put them into a large image sprite... while adjusting all CSS and JS to use the new image.
Not an easy task i think... but interesting from an optimization POV anyways.
SO you're saying that the pool being 3 meters deep instead of 2 meters doesn't make a difference?
Phelps is still the faster swimmer... it's the world record times that MULTIPLE swimmers in a race are breaking (not just US swimmers and not just Phelps) that is at question.
You can't break a world record in a non-regulation / non-approved pool. This pool in China is by nature of being the Olympic pool... is official - at 3 meters depth. Past pools were less deep.
Not having waves bouncing off the bottom creating additional density and turbulence to swim through would seem to be an advantage to swimming faster.
Again Phelps is still the fastest but if you watched any of the races you'll have seen the other swimmers also beating their own fastest times substantially and many getting close to prior world records (excepting the fact that Phelps was re-setting them even faster).
The only advantage Phelps may have had is if he trained in a similar pool and had learned that certain techniques when used in a deeper pool were more effective than when used in the more shallow pools... such as diving deeper on turn arounds or off the start, so as to go further under water which is known to be faster when you push off rather than heading up earlier to begin swimming again.
How is this different from Desktop Software? It's the same reason I have limited selection of games on my Mac....
Developing for Windows is easy. There is only one platform.
But OS X, Linux and Java are three completely different platforms. That's not to mention BSD, Solaris, even. Developing for an individual Desktop OS is easy, but to reach the entire market, it's very difficult.
------------
Now what you should do as a developer is determine which market segment your software will sell to the best and target the platform that segment uses the most.
Business Users still goes for Windows Mobile (though iPhone rumors persist)... but Blackberry's based on the old OS??? are still out there in force but not for long as their contracts are nearly up and they will upgrade rapidly. Here you're stuck with WinMobile APIs (which are great for some things and poor for others).
Consumers who actually buy and use apps are going for the iPhone (the rest just want a phone that might play mp3s and take pictures). Also the best experience is on the iPhone so if you want people to enjoy using your app.. it's the way to go though you have to know and accept the limitations of the SDK/License (though the SDK is very robust for what it allows you to do).
Developers like the Nokia because it's now running Linux... or later Android when it comes to market. Nokia phones support a wide range of apps with few limitations.
I agree with you completely... except for the fact that the unemployment paperwork you mention will have to be done by someone... and unless I'm mistaken, that person was layed off right along with you ;-p
Seriously though... I agree that you do need to run governments like you run a business, profit/loss... except for the part where profit is concerned... gov, does not need a profit, they just need to ensure no loss. It should be easier to run a gov.
Unfortunately they are the worst at promising to people (lobbies, taxpayers, unions, etc.) things that they can not deliver - so as to improve their political position - which apparently causes more problems than trying to improve their market position.
DIVs don't have semantic meaning because they are not supposed to. They are only supposed to be used to DIVide up your content as needed for CSS styling... as in, give your DIVs a unique ID so you can scope your styles.. that's it... nothing more. If you choose to also style the DIVs so they have presentation, that's your choice but since DIVs have no semantics, they can be ignored as far as the actual content goes, as in a screen reader should not read a DIV at all...
If you want semantic structure to your document to divide it up into logic sections, use an UL and set the display to block and reset all the default styles, voila... a structured but unordered list of your content.
Tables on the other hand impose unwanted semantics, quite the opposite of DIVs or ULs.
I suspect that modern large planes don't suffer from the problems you are describing.... since NOBODY turns off their phone completely on planes now and i've yet to see a plane disaster caused by a cellphone problem.
So your anecdotal evidence while it may be true for your plane does not fit the evidence for large commercial jets.
What about people who don't find it annoying to hear others talk on a phone (as opposed to talking to the person next to them?) and would like to get on with their life despite the fact that they are stuck on a plane for hours...
Why can't those who want peace and quiet simply put on some headphones? That's what I do at work when I need a break from the constant noise around me...
hmmm ffmpeg is what drives my hacked Apple TV... it's called MPlayer and i'm pretty darn sure it works on all modern OSs... in addition there are many many GUI tools out there that wrap ffmpeg functionality. A big one for mac is VisualHub which does great transcoding using ffmpeg libraries...
here's the link to more info: http://en.wikipedia.org/wiki/Ffmpeg
Why did you pick JPA over Hibernate?
Axure is good and fairly cheap ($500) for doing prototyping... it's like Flash/Director in that you can script controls but does not do animations, etc....
It does allow for logic though... so you can put in conditional content... and has things like input validation which is quite nice.
Just do it the old fashioned way.
Start with a script for each action/task your users will want to take. These are called Use Cases.
Diagram it out showing all the options along the way, the inputs and the outputs (sounds like UML you say...)
Then create Wireframes which include all those inputs on a screen layout.... put them up on a big wall with strings connecting them representing your earlier diagram.
Fourth, you can Prototype it using something like Axure, which is prototyping software... - only works on Windows ;-(
Have a bunch of people follow the scripts that you wrote and see if they can accomplish the tasks. This is called User Testing.
Fifth, have a good designer look at it. They will make suggestions about whitespace, cluttered menus, colors to use, fonts, etc.
Add the graphics into your prototype (it's fairly easy with Axure)
Now do another round of User Testing.
If the first or second set of User Testing gives you significant feedback, incorporate it into your Use Cases, Wireframes and Prototypes and repeat these steps.
Finally, UI design is very much like Software design.. if you do all your planning up front before you ever start coding or designing... you will save tremendous amounts of time at the end by not having to re-code everything when you find out it doesn't work correctly or your users hate it.
The UI is as important as any other part of the software... take the time to do it right and use every tool in your engineering, programming, design and project management toolkits.... by design I mean architecture design, not pretty colors design.
Oh and BE CONSISTENT... users want things to be in the same place every time they look for it... so don't hide things, disable them... don't move navigation around.
One more thing, less is more. Google was very successful giving people one input box to do search... follow their example where possible.
especially go lawn sale hunting in affluent neighborhoods... they always have the best stuff and won't worry about prices too much. We picked up a nice inclining treadmill with rate monitor, etc for $100 - was a $1200 model when bought.
though we were talking about Apple...
Linux is better than Windows !== Linux is better than OS X
Personally it's a personal choice/opinion. OS X for me is the best... for you it's probably Linux, for someone else it's arguably Windows (Gamers, Office Assistants, Aunt Mildred)
And how is this different from the millions of companies that run Linux servers? They too could care less about said matters and said lock in... and they of course make up the majority of Linux users.
Have you read any American News about what happens in America?
We kill more of our own people via gang shootings, revenge murder, random violence, etc. than all the deaths in Iraq and Afghanistan (both sides)... trust me, if the rest of the planet decided to invade the good ol' USA, you'd have hell to pay. We carry guns here... good guys, bad guys... normal average citizens.
Think about Texas. Think about deer and boar hunters in Arkansas and the rest of the central south... think about all the organized criminals... now think about how you'll have to deal with our Navy first, Airforce and Army next... then if you get on our soil, we'll all be at the local gun store (we call them Wal-Mart BTW) getting outfitted for skirmishing.
I seriously pity the military force that manages to get past our standard military forces.
Hmm except that most phones don't support OpenGL, have built in support for GeoLocating using both GPS and Triangulation, have built in support for multi-touch, motion sensors, full gyroscopic tilt sensors, 160 dpi screens, etc. etc.
If any group goes wacko... it won't be Catholics. Catholics are NOT fundamentalists.
I too an looking the ExtJS GWT component for a application... though I'm also considering just using ExtJS + DWR (Direct Web Remoting) which from what I've seen is a more mature AJAX transport module for JAVA and provides both push and pull AJAX (reverse-AJAX or Comet like capabilities)
I like the ability to manage the project in Eclipse with the GWT component but worry that it may add too much overhead and make customizing the look and feel harder than it needs to be.
The app will talk to Spring MVC on the server either directly with GWT or via DWR with just EXT... then either get results from another server app via the Spring containers or from a Hibernate DB layer.. if the results have already been cached in the DB... with a RESTful API.
Just remember to actually talked to disabled people.... not just the groups representing them.
You may find that those with sight impairment who need to use a screen reader, those with motion impairment, who need to use an assistive device (which basically does tabbing through your links/forms with keyboard input).... want the SAME EXPERIENCE as their fully abled peers.
These aren't disabled anti-javascript ant-flash nuts... they're just disabled people. They want to use the latest greatest web site technology just like 90% of the people out there.
So to use your analogy... yes they might have difficulty with a spiral staircase... but that doesn't mean they don't want the view from the second story. So don't go making single story buildings everywhere because it's easier to do that than it is to add an elevator.
Flash can be made accessible, Javascript can be made accessible. They just take more work. If you don't have the budget to do it in an accessible manner then provide an alternative set of content (and apologize to your disabled visitors for being too cheap to give them the GOOD experience).
The ONLY reason to do a site without script or flash is if it would not add any value... which is a very hard argument to make. People really do appreciate visual cues, preemptive form validation and *fun* - so don't think you are helping people by leaving those things out.
I suggest teaching how to program with OpenGL.... immediate gratification while learning to work with a published API... but if you can steer him towards procedural graphics he'll also learn about CS logic switches and for looping statements.
This will smooth the way towards algorithms. Once he's got a handle on those concepts he can apply it towards anything, graphical or not. You can do pretty much anything in CS with a good mix of logic, loops and algorithms... but the real key is working with published APIS... teach him to not reinvent the wheel and he'll be off to a good start.
I agree the X-Files was a particularly non-geeky TV show (excepting those geeks that appeared in a few episodes)
Oh wait, you were talking about Batman? Hmmm i think maybe the use of the entire city's cellphone collection as a giant sonar array and referenced against the Joker's voice pattern to both find him and visualize his location, might just qualify.
Personally I thought that was part of it's brilliance... the director didn't feel the need to explain everything. I hate it when movies try to wrap everything up in neat little bows so the audience doesn't have to think (a little.. not like the independent films where the entire story is a brain puzzle).
Oh he's just enjoying his walled garden... I'd say 1996 called, it's AOL and they want their business model back.... ;-p
you do know that is how we managed to climb our way out of the muck right? Just swap out "iron dust" for "oxygen". Then later oxygen became less plentiful which is why we no longer have giant insects roaming the earth... and for millions of years the oceans were more acidic than they are now... still life managed to thrive there.
Humans are an environmental effect like any other... volcanoes, earthquakes, massive land fires, meteor impacts... they all wipe out life and ecosystems. They also leave new ones behind them... just as we do. Our cities provide huge ecosystems for various types of life... even though they displace other populations... but it's not important which life forms survive, only that some life forms survive. Large animal Biodiversity is important to US because we don't want to live in a world without it.... to life in general there is plenty of biodiversity regardless of what we do. There are millions of species of insects and bacteria which thrive in our cities.