Bozeman Montana is a up and coming tech hub with a pretty awesome tech scene. Also, if your looking to raise money, we have a ton of wealthy people who are looking to invest in the tech scene. Obviously not as much in the way of mentorship, but you can get that remotely.
It's a confidence actually, I hadn't heard of Volta until just now. I originally was going to name it AmpFramework, but that turned out to be a thing also :-)
obsurveyor, I'm the lead developer. I've been doing ruby forever. The .cur is going to go away, along with .or and .and I'm in the middle of a big refactor of the reactive stuff to simplify all of that.
So the models in volt basically let you read and assign attributes with an _ We could use the model[:key] instead, but the nice thing with using _ is that you can then define your own getters and setters easily in the model class. The _ is sort of a quick prototyping tool, allowing you to start using attributes without defining them in the model. We're going to add it where you can say something like:
model_attr :field_name, String
then do:
model.field_name = 'something'
(without the _)
The _ keeps people from calling a method that isn't defined, since ._something will return nil if its not defined yet. But if you called .something, it will still raise an exception.
That sounds ripe for misuse and kind of schizophrenic with the different behavior based on the name of the attribute. You should pick one behavior(throw an exception) and apply it everywhere. If you want quick prototyping features, then make that something you include with a gem or something, don't let it infect the framework.
I'm the lead developer on Volt. The goal here isn't to keep people from learning JS. I've been doing JS development since long before I found ruby. Just some thoughts on it I had been working on for a blog post:
In web development today, JavaScript gets to be the default language by virtue of being in the browser. JavaScript is a very good language, but it has a lot of warts. (See http://wtfjs.com/ for some great examples) Some of these can introduce bugs, others are just difficult to deal with. JavaScript was rushed to market quickly and standardized very quickly. Ruby was used by a small community for years while most of the kinks were worked out. Ruby also has some great concepts such as uniform access, mixin's, duck typing, and blocks to name a few. While many of these features can be implemented in JavaScript in userland, few are standardardized and the solutions are seldom eloquent.
Uniform access and duck typing provides us with the ability to make reactive objects that have the exact same interface as a normal object. This is a big win, nothing new to learn to do reactive programming.
--
Also, just as a side note, Opal does a great job of compiling ruby to JS. The code is easy to understand, supports source maps so chrome for example can bring up your ruby code in the console and show line numbers in the ruby code. While many gems won't work without some porting, a lot do. Opal currently runs rspec (a very complex ruby project) with only a few patches. Really though, typically front-end solutions do different things than backend solutions.
Cool-- thanks for the responses. I agree with the issues in JavaScript, but I'm not sure I see them as justifying a new web framework. For example, the Math.max() boolean behavior is simply the result of treating true and false as 1 and 0, which isn't unique to JS. Blocks are a type of closure (which JS supports) and there are ways to achieve multiple inheritance and even mixins as well.
That said, the larger point seems to be that data synchronization is the biggest benefit. If you can write a model once and have JS objects automatically created that'd be a good start. I'll have a look to see what other capabilities are there. The HTML rendering when a URL is called directly could be particularly powerful.
Chris, I'm the main developer. So I haven't pushed much because I have been doing a big refactor on the reactive stuff and did get a little side tracked with some other stuff. The refactor is almost complete (400+ commits that should be out next week or the week after). From there there's just a few more things let and I think it will be ready for people to start building on. (After that I'll need to do a bunch of tutorials and videos)
Awesome, though why wait to push commits? Just put in a branch people can play with/watch until it's ready to merge to master or whatnot. Dunno if I'll have time but I'd love to play and see where it's going, much easier if latest stuff is online and visible :-)
Hopefully I'm not the only one that thinks this is going to kill usability. The reason old people can figure their way around <=iOS6 is that everything that can be tapped looks like a button. A more "mature" audience isn't what apple's good at appealing to.
I'm volunteering at a center that teaches senior citizens various computer skills. One of the courses we teach is on how to use their iPhones. I'm dreading the moment that iOS7 is released: all of these people are going to have to start right back at the beginning in their understanding.
I think Apple would be happy to lose all the "silver surfers" and regain their cool with teens, tweens, and young adults. Teens don't want the same phone that their grandmother has and they don't want the same tablet they're forced to use at school.
I think it's a simple calculus: at the moment, the silver surfers don't have elsewhere to go. Worse case scenario, they'll buy a Nexus tablet that will sit on the shelf, and/or limp along with their old tech (possibly after convincing their nephew to "fix" their iPad by reverting the OS).
Meanwhile, young people are highly ripe for bailing out of iOS, now that Samsung has some cool factor, Android's software/gaming ecosystem is growing richer, and the golden manacles have been feeling tight on the tech-savviest generation. (Guess who's doing all the jailbreaking? It ain't the boomers.)
Old folks may be the bread and butter today, but I think Apple knows that iOS is at a crossroads when it comes to winning the future. (I may be futilely rooting for the open web, but I've still got my popcorn.)
I have no data on this - but IMHO losing the "silver surfers" weakens the ecosystem they're trying to build. The only reason I use Photostream since its inception is that my girlfriend's mom can use the iPad 1. FaceTime is another good example - it makes iDevices great gifts for parents & grandparents.
Also, have you seen how many elderly Asian tourists are using the iPad as the only digicam they can comfortably use? (Not sure if this is also a trend in other countries.) That's obviously the opposite of "cool", but these are $500 in revenue per user. The new lock screen and camera of iOS 7 are less discoverable.
Idunno, I think Apple is already moving a bit away from the "pure cool" targeting and are just going to grab as much as possible now... the "mini" lines are a huge compromise on this because they're obviously created to be a low-cost alternative to their flagship platforms.
Apple is the prestigious brand. Having a budget line compromises that image.
Would you mind sharing more details about why you think it's going to be painful for seniors to adjust? The answer might be obvious, but I'd love to hear more about the difficulties that you've faced teaching seniors.
I don't teach seniors per se, so I can't answer "professionally" but I have taught two of my grandparents how to use their phones (one old Motorolla flip phone, one on my old iPhone) and computers.
I found that they were very hesitant to engage with the phones, they have a preconceived notion that touching the wrong thing could break the entire device (which is generally an incorrect assumption but not completely).
The way to get around that fear, of course, is to make sure all the steps are followed in order in the way they were taught, eg: To Make a Phone Call: 1. Press the green icon with the phone on it at the bottom left 2. Press the picture of the star to bring up your favourites 3. Press on the name you want to call. 4. When you're finished, press the big red button.
In that example the four steps are largely unchanged, and every identifiable interactive element (green icon with phone, star, names, red button) has the same general description.
But everything has changed slightly - the green icon isn't the same colour, the star is a bit different, the names now have photos next to them and the red button is a big red strip.
This isn't a big deal for you or me, but it is certainly a big deal when they're looking for the clues in the interface that they are used to.
But things like "Slide the grey button to the right to unlock the phone" and "slide the green button to the right to answer the call" have changed significantly. There's no more grey or green box - there's no box to unlock and the green box is now a big green line.
My grandfather is doing pretty well with his iPhone by muscle memory, but he literally has a piece of paper in his phone case with all the steps written down in order so he can refer to them if he gets stuck.
Changes on this scale break the muscle memory that they've been trained to use, but more importantly makes the steps he's been taught incorrect. It's no small feat to have to learn everything over again. Especially so when things aren't brand new anymore and the changes are only slight.
If you go to the Apple Developer forums (https://developer.apple.com/devforums/ Dev account needed) the "Getting Started" sub-forum is filled with devs, from just signed up to veterans with multiple apps under their belt, asking usability questions.
I think it's telling when your own developing base has to post to forums asking simple questions like:
Where did my spotlight search go?
How do I rate songs?
This is honestly a valid critique. While many push flat or semi-flat as the successor of skeuomorphic/textured design (in terms of looks and use), I think in many ways it doesn't provide a completely better experience. An example for myself: it took me several minutes on the (flat) Google Maps app to figure out I could pull up the bottom card to do Street-View. Good luck non tech-savvy people!
These comments about the older generation dealing with flat design are also VERY valid. Apple hasn't gone too far into Metro territory, but it will be interesting to see how the useability end of iOS 7 goes over (never mind the criticisms of the look).
Either way, I think Apple needs to polish what they showed at WWDC. Let's start with the arrow pointing up on the lock screen lol.
I agree. I think my parents can easily use iOS 6 on the iPhone or iPad while they have trouble with other computing devices. Same goes with my toddler. I actually thought Apple purposely kept this style because they're aware of the great usability it was compared to what other manufacturers are doing.
It turns out that perhaps I was giving them too much credit.
Agreed - this design is very disappointing. I want to be able to glance at my phone and understand what I'm looking at as easily as possible. Another person in this thread mentioned waking up from sleep and looking at their phone - that's exactly it for me. I'm not getting AARP magazine yet (early 30s), just want using my phone to be easy.
"The title bar is white, the tab bar is white. If I blur my eyes, I don't see the distinct areas."
"The Safari icon went from something beautiful to this"
"48px roundrect? Terrible."
"Really Apple? Icons on people's heads? HAS YOUR VISUAL DESIGNER LOST THEIR SENSE OF TASTE?"
"And most of it sits on ugly rainbow puke, again."
These all seem like whiny statements of personal taste to me. I don't use my phone with blurred eyes, I have set photos of people to my phone wallpaper (covering their faces - the horror!), transparency doesn't look remotely like any puke I have ever generated, etc, etc.