the work and personal site of Jared Alessandroni

Archive for the ‘work’ Category

Leap Proof of Concept Game

Thursday, January 17th, 2013

game

It’s here! I’ve finished my first proof-of-concept.

Check it Out

So, to explain… (more…)

The Third Wave

Wednesday, January 9th, 2013

wave

 

I think it’s time to talk about the way we communicate with our computers. To do that, we need to look at the ways we have in the past. Forgetting about punch-cards and switches, I think it’s fair to look at the technology that most people recognize as input devices. Then, I want to look at what’s next – how do we interact with a computer in ten years. I believe that this is something that’s starting to take shape right now – and I like to call it the Third Wave.

(more…)

LEAPin’ Lizards

Wednesday, December 12th, 2012

leaplogo

 

Yessss! I was accepted into the LEAP developer program. My Leap Motion controller will be here in a few weeks! The Leap controller is really exciting – it allows you to use 3D interactions with your Mac, PC, or Linux box. I’m hoping to develop some educational apps for it.

Plain-Text

Monday, July 16th, 2012

One of the things I used to deal with as a data architect was, “Well, why can’t we just send them their password?” And the answer was always long and complex. Now, though, even my most neophyte clients understand the importance of data-level security. They no longer flinch when I say, Even though it has never happened to me ONCE I plan every database and every site as though it were going to be hacked tomorrow. And yes, I still have clients – or would-be clients – who say, Well, that’s not very secure. Well, no, it’s not. The internet, while not the den of snakes that it’s often portrayed as, is not very secure. And if you don’t plan for the worst, you’re not planning at all. (more…)

Jared Alessandroni, Teacher

Sunday, January 15th, 2012

Back in the day, when I was first teaching, I taught at one of the best schools in the South Bronx – PS 31. I later moved up to become the director of Gifted and Talented before I helped found South Bronx Charter SChool. PS 31 had its flaws – many caused by an awkward collocation in what can only be described as a prison-like building from the seventies. The school was successful, though, and the staff highly skilled. Shortly after I left, a new Principal came in, Liza Diaz. I remember seeing her when I visited my old school – she was a slow-moving woman who took long lunches. But the part of this story that means anything to me is not this woman (whom I can literally see doing nothing else but ordering lunch) – but rather the slow degradation of my PS 31. They are currently being described as a “C” school – which is in itself sad, since many schools get Cs in the school ranking system and are not degraded that way. But PS 31 used to be the pride of the South Bronx, and it would still be today with stronger leadership, and especially if they hadn’t brought in this lazy, ridiculous woman and at the same time given her the task of turning 31 into a middle school. This decision happened around ’05, and when it did, Carol Russo (the old and venerable principal) and I sat in her office and predicted this – almost to the point of seeing some corruption being unearthed. The DOE under Bloomberg wanted to fix some bad middle schools in the Bronx, so they took a working elementary school, trashed it, and now they’re cleaning up their mess. It’s a shame, and it didn’t have to end this way.

AJAX File Upload UI Considerations

Friday, February 11th, 2011

I don’t often get into highly technical stuff on this blog (I generally answer long-form over at Stack) but this problem has been dogging me for years and I wanted to share the solution.

In context, let me start out by saying that my big project right now (ours – shout out to Wang.Media and the rest of the team at JaredWilliam) – is the build-out of a social-network.  One of the things we’re working on now is image upload, and this is certainly not the same time I’ve worked with images and file upload, but I decided this time to cut it elegant.  In this, I’m not alone – I wanted multiple image upload, progress indicator, and, of course, file checking.  I’m putting it all in a database.  That’s the easy part.

This network is interested in color, and I developed a program that will parse through the image file and build a palette out of the colors it finds.  Again, done. (I’m not brushing off those who might be wondering how to do these – just leave a comment).  The thing is, I was able to do all of these.  But as a UI matter, I had a problem.

The site seeks to categorize the images that are uploaded for site-wide galleries and search reasons.  The thing is, most users are very lazy – the idea of going back and tagging your information is just beyond many users.  For other sites, like Facebook, you just tag at leisure.  If you’ve ever used another site with a bulk-uploader, they might have you name a series or a gallery first, but in general, you are left on your own.  If you want to tag or need to, you don’t.  Never thought about this, actually.  But the reason has to do with synchronicity.  The thing is, if you’ve just uploaded one file, fine – pop the image back up and go with it.  But if you’re uploaded several, what do you do?  We could wait to the end and pop them all up – definitely considered this.  But it’s not ideal because now you’re wasting the users time when the item is up.

So, on a UI level, I needed to upload multiple images and then, when one was done uploading, it would pop up and you could edit and tag it.

I then added a div below whenever each new images came in, they would go into this popup so you could edit them as well.

The problem came up when the images came in at the same time.  Here’s why – and this is where it gets tricky – when you’re sending the XHR request up at the same time, you cross wires.  So if they both load at exactly the same moment, the popup pops up for the wrong image or, worse, not at all.  This is exhausting to say the least.  So, I did this:

onComplete: function(id, fileName, responseJSON){
 if (open == 0) {
  alignPopup('popup');
  aj('f=ajaxPhotosManager&id='+responseJSON['fileID'],'popup');
 }
 else {
  var newdiv = document.createElement('div');
  var divIdName = 'photoManager'+responseJSON['fileID'];
  newdiv.setAttribute('id',divIdName);
  document.getElementById('popup').appendChild(newdiv);
   if (req.readyState == 4 || req.readyState == 0)
  aj('f=ajaxPhotoManager&id='+responseJSON['fileID'],'photoManager'+responseJSON['fileID']);
   var newdiv2 = document.createElement('div');
   newdiv2.innerHTML = 'Update '+ fileName + '' ;
    document.getElementById('updateList').appendChild(newdiv2);
 }
 }


Here, we add a div below the uploader that will, whenever a new file goes in, create a link to open the popup to edit the image.

Automated, but not pushy.

And maybe people will do a better job tagging their photos!  We’ll see – will link to when the site is live next month or so.